diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-08-23 18:55:08 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-08-23 18:55:08 +0200 |
commit | 4ab99cfc91ca2be9aedd9f1099ab9585375fe78d (patch) | |
tree | 89004884dca3b0cc21af6672f260a39eb891d48f /talerblog/blog/blog.py | |
parent | 08ac2799b04a6326c26d1c22f784270f6bad7f44 (diff) | |
download | blog-4ab99cfc91ca2be9aedd9f1099ab9585375fe78d.tar.gz blog-4ab99cfc91ca2be9aedd9f1099ab9585375fe78d.tar.bz2 blog-4ab99cfc91ca2be9aedd9f1099ab9585375fe78d.zip |
render 402 page ourselves
Diffstat (limited to 'talerblog/blog/blog.py')
-rw-r--r-- | talerblog/blog/blog.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/talerblog/blog/blog.py b/talerblog/blog/blog.py index 860a3a9..4cf242b 100644 --- a/talerblog/blog/blog.py +++ b/talerblog/blog/blog.py @@ -25,7 +25,7 @@ import uuid import base64 import requests import flask -from werkzeug.contrib.cache import UWSGICache, SimpleCache +from cachelib import UWSGICache, SimpleCache from talerblog.talerconfig import TalerConfig from ..blog.content import ARTICLES, get_article_file, get_image_file @@ -315,8 +315,12 @@ def article(article_name, data=None): ## # Redirect the browser to a page where the wallet can # run the payment protocol. - if pay_status.get("payment_redirect_url"): - return flask.redirect(pay_status["payment_redirect_url"]) + contract_url = pay_status["contract_url"] + headers = {"X-Taler-Contract": contract_url} + content = flask.render_template("templates/request_payment.html", + article_name=article_name) + resp = flask.Response(content, status=402, headers=headers) + return resp # no pay_redirect but article not paid, this should never happen! err_abort(500, message="Internal error, invariant failed", json=pay_status) |