1
0

Fix exceptions on requests for non-ascii urls (#6682)

* commit 'feee81997':
  Fix exceptions on requests for non-ascii urls (#6682)
  comment for run_in_background
This commit is contained in:
Andrew Morgan
2020-03-23 11:32:47 +00:00
3 changed files with 6 additions and 1 deletions

2
changelog.d/6682.bugfix Normal file
View File

@@ -0,0 +1,2 @@
Fix "CRITICAL" errors being logged when a request is received for a uri containing non-ascii characters.

View File

@@ -88,7 +88,7 @@ class SynapseRequest(Request):
def get_redacted_uri(self):
uri = self.uri
if isinstance(uri, bytes):
uri = self.uri.decode("ascii")
uri = self.uri.decode("ascii", errors="replace")
return redact_uri(uri)
def get_method(self):

View File

@@ -571,6 +571,9 @@ def run_in_background(f, *args, **kwargs):
yield or await on (for instance because you want to pass it to
deferred.gatherResults()).
If f returns a Coroutine object, it will be wrapped into a Deferred (which will have
the side effect of executing the coroutine).
Note that if you completely discard the result, you should make sure that
`f` doesn't raise any deferred exceptions, otherwise a scary-looking
CRITICAL error about an unhandled error will be logged without much