mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2025-10-08 04:38:30 -04:00
Use parse_{int,str} and assert from http.servlet
parse_integer and parse_string can take a request and raise errors in case we have wrong or missing params. This PR tries to use them more to deduplicate some code and make it better readable
This commit is contained in:
parent
2aba1f549c
commit
32fd6910d0
14 changed files with 90 additions and 154 deletions
|
@ -14,6 +14,8 @@
|
|||
|
||||
from pydenticon import Generator
|
||||
|
||||
from synapse.http.servlet import parse_integer
|
||||
|
||||
from twisted.web.resource import Resource
|
||||
|
||||
FOREGROUND = [
|
||||
|
@ -56,8 +58,8 @@ class IdenticonResource(Resource):
|
|||
|
||||
def render_GET(self, request):
|
||||
name = "/".join(request.postpath)
|
||||
width = int(request.args.get("width", [96])[0])
|
||||
height = int(request.args.get("height", [96])[0])
|
||||
width = parse_integer(request, "width", default=96)
|
||||
height = parse_integer(request, "height", default=96)
|
||||
identicon_bytes = self.generate_identicon(name, width, height)
|
||||
request.setHeader(b"Content-Type", b"image/png")
|
||||
request.setHeader(
|
||||
|
|
|
@ -40,6 +40,7 @@ from synapse.http.server import (
|
|||
respond_with_json_bytes,
|
||||
wrap_json_request_handler,
|
||||
)
|
||||
from synapse.http.servlet import parse_integer, parse_string
|
||||
from synapse.util.async import ObservableDeferred
|
||||
from synapse.util.caches.expiringcache import ExpiringCache
|
||||
from synapse.util.logcontext import make_deferred_yieldable, run_in_background
|
||||
|
@ -96,9 +97,9 @@ class PreviewUrlResource(Resource):
|
|||
|
||||
# XXX: if get_user_by_req fails, what should we do in an async render?
|
||||
requester = yield self.auth.get_user_by_req(request)
|
||||
url = request.args.get("url")[0]
|
||||
url = parse_string(request, "url")
|
||||
if "ts" in request.args:
|
||||
ts = int(request.args.get("ts")[0])
|
||||
ts = parse_integer(request, "ts")
|
||||
else:
|
||||
ts = self.clock.time_msec()
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ from twisted.web.server import NOT_DONE_YET
|
|||
|
||||
from synapse.api.errors import SynapseError
|
||||
from synapse.http.server import respond_with_json, wrap_json_request_handler
|
||||
from synapse.http.servlet import parse_string
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -65,10 +66,10 @@ class UploadResource(Resource):
|
|||
code=413,
|
||||
)
|
||||
|
||||
upload_name = request.args.get("filename", None)
|
||||
upload_name = parse_string(request, "filename")
|
||||
if upload_name:
|
||||
try:
|
||||
upload_name = upload_name[0].decode('UTF-8')
|
||||
upload_name = upload_name.decode('UTF-8')
|
||||
except UnicodeDecodeError:
|
||||
raise SynapseError(
|
||||
msg="Invalid UTF-8 filename parameter: %r" % (upload_name),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue