summaryrefslogtreecommitdiff
path: root/talerblog/blog/blog.py
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-08-23 18:55:08 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-08-23 18:55:08 +0200
commit4ab99cfc91ca2be9aedd9f1099ab9585375fe78d (patch)
tree89004884dca3b0cc21af6672f260a39eb891d48f /talerblog/blog/blog.py
parent08ac2799b04a6326c26d1c22f784270f6bad7f44 (diff)
downloadblog-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.py10
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)