gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-bank] branch master updated: body decoder helper function


From: gnunet
Subject: [taler-bank] branch master updated: body decoder helper function
Date: Fri, 29 Nov 2019 16:16:42 +0100

This is an automated email from the git hooks/post-receive script.

marcello pushed a commit to branch master
in repository bank.

The following commit(s) were added to refs/heads/master by this push:
     new e61f7dc  body decoder helper function
e61f7dc is described below

commit e61f7dc4576af119582b1035db43243dd52ca8b4
Author: Marcello Stanisci <address@hidden>
AuthorDate: Fri Nov 29 16:16:33 2019 +0100

    body decoder helper function
---
 talerbank/app/middleware.py |  1 -
 talerbank/app/schemas.py    |  1 -
 talerbank/app/views.py      | 24 ++++++++++++++----------
 3 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/talerbank/app/middleware.py b/talerbank/app/middleware.py
index 980b87b..08c85aa 100644
--- a/talerbank/app/middleware.py
+++ b/talerbank/app/middleware.py
@@ -54,7 +54,6 @@ class DecompressionMiddleware:
 
         return self.get_response(request)
 
-
 ##
 # Class holding data needed by the handling logic.
 class ExceptionMiddleware:
diff --git a/talerbank/app/schemas.py b/talerbank/app/schemas.py
index b4c64ce..c3524fa 100644
--- a/talerbank/app/schemas.py
+++ b/talerbank/app/schemas.py
@@ -101,7 +101,6 @@ class AuthForm(forms.Form):
         ]
     )
 
-    # Just any value is good here.
     data = forms.Field(required=False)
 
 
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index 763a0e9..9186837 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -143,6 +143,14 @@ def ignore(request):
     return HttpResponse()
 
 
+##
+# Decode body, when it is expected to be UTF-8.
+#
+# @param request the HTTP request being served.
+# @return the body as string.
+def decode_body(request):
+    return request.body.decode("utf-8")
+
 ##
 # Get a flag from the session and clear it.
 #
@@ -814,9 +822,8 @@ def auth_and_login(request):
 @require_http_methods(["PUT", "POST"])
 @login_via_headers
 def reject(request, user_account):
-    data = json.loads(request.body.decode("utf-8"))
-    data = RejectData(data)
 
+    data = RejectData(json.loads(decode_body(request)))
     if not data.is_valid():
         raise JSONFieldException(data.errors, 400)
 
@@ -869,9 +876,8 @@ def reject(request, user_account):
 @require_POST
 @login_via_headers
 def add_incoming(request, user_account):
-    data = json.loads(request.body.decode("utf-8"))
-    data = AddIncomingData(data)
 
+    data = AddIncomingData(json.loads(decode_body(request)))
     if not data.is_valid():
         raise JSONFieldException(data.errors, 400)
 
@@ -899,8 +905,7 @@ def add_incoming(request, user_account):
 @csrf_exempt
 @require_POST
 def withdraw_headless_uri(request, user):
-    data_json = json.loads(request.body.decode("utf-8"))
-    data = WithdrawHeadlessUri(data_json)
+    data = WithdrawHeadlessUri(json.loads(decode_body(request)))
     if not data.is_valid():
         raise JSONFieldException(data.errors, 400)
     amount = Amount.parse(data.cleaned_data["amount"])
@@ -922,9 +927,8 @@ def withdraw_headless_uri(request, user):
 @csrf_exempt
 @require_POST
 def withdraw_headless(request, user):
-    data = json.loads(request.body.decode("utf-8"))
-    data = WithdrawHeadless(data)
-
+    
+    data = WithdrawHeadless(json.loads(decode_body(request)))
     sender_payto = "payto://x-taler-bank/%s/%d" % \
         (request.get_host(), user.bankaccount.account_no)
     ret_obj = ({"sender_wire_details": sender_payto})
@@ -967,7 +971,7 @@ def api_withdraw_operation(request, withdraw_id):
     host = request.get_host()
 
     if request.method == "POST":
-        data = json.loads(request.body.decode("utf-8"))
+        data = json.loads(decode_body(request))
         exchange_payto_uri = data.get("selected_exchange")
         try:
             account_no = get_acct_from_payto(exchange_payto_uri)

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]