Remove empty _RequestBodyProducer for POST requests

This commit is contained in:
Eugenio Lacuesta 2020-04-05 00:53:10 -03:00
parent 8845773d44
commit 862f0301e2
No known key found for this signature in database
GPG Key ID: DA3EF2D0913E9810
1 changed files with 0 additions and 14 deletions

View File

@ -341,20 +341,6 @@ class ScrapyAgent:
headers.removeHeader(b'Proxy-Authorization')
if request.body:
bodyproducer = _RequestBodyProducer(request.body)
elif method == b'POST':
# Setting Content-Length: 0 even for POST requests is not a
# MUST per HTTP RFCs, but it's common behavior, and some
# servers require this, otherwise returning HTTP 411 Length required
#
# RFC 7230#section-3.3.2:
# "a Content-Length header field is normally sent in a POST
# request even when the value is 0 (indicating an empty payload body)."
#
# Twisted < 17 will not add "Content-Length: 0" by itself;
# Twisted >= 17 fixes this;
# Using a producer with an empty-string sends `0` as Content-Length
# for all versions of Twisted.
bodyproducer = _RequestBodyProducer(b'')
else:
bodyproducer = None
start_time = time()