summaryrefslogtreecommitdiff
path: root/talerblog/blog/blog.py
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-08-24 19:43:30 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-08-24 19:44:04 +0200
commit9476242a878def6ce45da10f0c28b85172adbbb6 (patch)
tree4524d7813797760c062e825536d66e80fe2407bb /talerblog/blog/blog.py
parent408caef21673f826db07b6aded3d80d75a57ca99 (diff)
downloadblog-9476242a878def6ce45da10f0c28b85172adbbb6.tar.gz
blog-9476242a878def6ce45da10f0c28b85172adbbb6.tar.bz2
blog-9476242a878def6ce45da10f0c28b85172adbbb6.zip
etag
Diffstat (limited to 'talerblog/blog/blog.py')
-rw-r--r--talerblog/blog/blog.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/talerblog/blog/blog.py b/talerblog/blog/blog.py
index 5340d56..47b7074 100644
--- a/talerblog/blog/blog.py
+++ b/talerblog/blog/blog.py
@@ -328,13 +328,20 @@ def article(article_name, data=None):
# Redirect the browser to a page where the wallet can
# run the payment protocol.
contract_url = pay_status["contract_url"]
+ taler_pay_uri = "talerpay:" + urllib.parse.quote_plus(contract_url) + ";" + session_id
+ req_etag = request.headers.get("If-None-Match")
+ resp_etag = f"\"{taler_pay_uri}\""
+ if req_etag == resp_etag:
+ resp = flask.Response(status=304)
+ return resp
+
headers = {
"Taler-Contract-Url": urllib.parse.quote(contract_url),
"Taler-Session-Url": urllib.parse.quote(session_id),
"Taler-Resource-Url": urllib.parse.quote(resource_url),
+ "ETag": resp_etag,
}
- taler_pay_uri = "talerpay:" + urllib.parse.quote_plus(contract_url) + ";" + session_id
qrcode_svg = get_qrcode_svg(taler_pay_uri)
content = flask.render_template("templates/request_payment.html",
article_name=article_name,