Browse Source

Put request in args

also import functools
David Baker 4 years ago
parent
commit
d8bc4f2cb3
1 changed files with 3 additions and 4 deletions
  1. 3 4
      sydent/http/servlets/__init__.py

+ 3 - 4
sydent/http/servlets/__init__.py

@@ -17,6 +17,7 @@
 import logging
 import json
 import copy
+import functools
 
 from twisted.internet import defer
 from twisted.web import server
@@ -95,11 +96,10 @@ def get_args(request, required_args):
 
 def jsonwrap(f):
     @functools.wraps(f)
-    def inner(*args, **kwargs):
+    def inner(self, request, *args, **kwargs):
         try:
-            return json.dumps(f(*args, **kwargs)).encode("UTF-8")
+            return json.dumps(f(self, request, *args, **kwargs)).encode("UTF-8")
         except MatrixRestError as e:
-            request = args[1]
             request.setResponseCode(e.httpStatus)
             return json.dumps({
                 "errcode": e.errcode,
@@ -107,7 +107,6 @@ def jsonwrap(f):
             })
         except Exception:
             logger.exception("Exception processing request");
-            request = args[1]
             request.setResponseCode(500)
             return json.dumps({
                 "errcode": "M_UNKNOWN",