summary refs log tree commit diff
path: root/synapse/http
diff options
context:
space:
mode:
authorAmber Brown <hawkowl@atleastfornow.net>2018-09-14 03:11:11 +1000
committerGitHub <noreply@github.com>2018-09-14 03:11:11 +1000
commit7c27c4d51cfd2a3d6504889b1ccdddabf38ae05c (patch)
tree1b3523ee1e3e68f0ab4ca66c160562252641da0b /synapse/http
parentMerge pull request #3856 from matrix-org/erikj/speed_up_purge (diff)
downloadsynapse-7c27c4d51cfd2a3d6504889b1ccdddabf38ae05c.tar.xz
merge (#3576)
Diffstat (limited to 'synapse/http')
-rw-r--r--synapse/http/client.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/synapse/http/client.py b/synapse/http/client.py
index 4ba54fed05..d60f87b04e 100644
--- a/synapse/http/client.py
+++ b/synapse/http/client.py
@@ -348,7 +348,8 @@ class SimpleHttpClient(object):
 
         resp_headers = dict(response.headers.getAllRawHeaders())
 
-        if 'Content-Length' in resp_headers and resp_headers['Content-Length'] > max_size:
+        if (b'Content-Length' in resp_headers and
+                int(resp_headers[b'Content-Length']) > max_size):
             logger.warn("Requested URL is too large > %r bytes" % (self.max_size,))
             raise SynapseError(
                 502,
@@ -381,7 +382,12 @@ class SimpleHttpClient(object):
             )
 
         defer.returnValue(
-            (length, resp_headers, response.request.absoluteURI, response.code),
+            (
+                length,
+                resp_headers,
+                response.request.absoluteURI.decode('ascii'),
+                response.code,
+            ),
         )
 
 
@@ -466,9 +472,9 @@ class SpiderEndpointFactory(object):
     def endpointForURI(self, uri):
         logger.info("Getting endpoint for %s", uri.toBytes())
 
-        if uri.scheme == "http":
+        if uri.scheme == b"http":
             endpoint_factory = HostnameEndpoint
-        elif uri.scheme == "https":
+        elif uri.scheme == b"https":
             tlsCreator = self.policyForHTTPS.creatorForNetloc(uri.host, uri.port)
 
             def endpoint_factory(reactor, host, port, **kw):