summary refs log tree commit diff
path: root/synapse/http/client.py
diff options
context:
space:
mode:
authorPatrick Cloke <patrickc@matrix.org>2023-07-26 12:45:17 -0400
committerPatrick Cloke <patrickc@matrix.org>2023-07-26 12:45:17 -0400
commit02867aeb257c666f23574864b18cf50c4ce99002 (patch)
tree358aef29f3ec3730457f73fc32a15acf418d1e1e /synapse/http/client.py
parentFIx-up content hash checking for PDUs vs. delegated PDUs. (diff)
parentMerge branch 'release-v1.89' into develop (diff)
downloadsynapse-02867aeb257c666f23574864b18cf50c4ce99002.tar.xz
Merge remote-tracking branch 'origin/develop' into clokep/lm
Diffstat (limited to 'synapse/http/client.py')
-rw-r--r--synapse/http/client.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/synapse/http/client.py b/synapse/http/client.py
index 09ea93e10d..ca2cdbc6e2 100644
--- a/synapse/http/client.py
+++ b/synapse/http/client.py
@@ -1037,7 +1037,12 @@ class _ReadBodyWithMaxSizeProtocol(protocol.Protocol):
         if reason.check(ResponseDone):
             self.deferred.callback(self.length)
         elif reason.check(PotentialDataLoss):
-            # stolen from https://github.com/twisted/treq/pull/49/files
+            # This applies to requests which don't set `Content-Length` or a
+            # `Transfer-Encoding` in the response because in this case the end of the
+            # response is indicated by the connection being closed, an event which may
+            # also be due to a transient network problem or other error. But since this
+            # behavior is expected of some servers (like YouTube), let's ignore it.
+            # Stolen from https://github.com/twisted/treq/pull/49/files
             # http://twistedmatrix.com/trac/ticket/4840
             self.deferred.callback(self.length)
         else: