This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author manuel_b
Recipients manuel_b
Date 2021-10-19.13:42:00
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1634650921.13.0.397110972299.issue45523@roundup.psfhosted.org>
In-reply-to
Content
I'm implementing an HTTPServer class that produces a response with transfer-encoding chunked mode.

I'm sending the chunks as described in https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding#chunked_encoding

If I send chunks of length <= 9 bytes the message is received correctly by the client, otherwise when sending chunks of length >= 10 bytes, it seems that some of them are not received and the message remains stuck in the client waiting indefinitely

In attachment an example of the complete code to reproduce the issue, but in short, the following code:

# writing 5 chunks of length 10
for i in range(5):
    text = str(i+1) * 10  # concatenate 10 chars
    chunk = '{0:d}\r\n'.format(len(text)) + text + '\r\n'
    self.wfile.write(chunk.encode(encoding='utf-8'))

# writing close sequence
close_chunk = '0\r\n\r\n'
self.wfile.write(close_chunk.encode(encoding='utf-8'))

Produces:
10\r\n
1111111111\r\n
10\r\n
2222222222\r\n
10\r\n
3333333333\r\n
10\r\n
4444444444\r\n
10\r\n
5555555555\r\n
0\r\n
\r\n

In this case the client hangs several minutes without a response 

But if I use length 9 or less instead for example with

text = str(i+1) * 9

the client receives the correct body and the communication ends correctly (in about 6ms)

The problem persists with both http.server.ThreadingHTTPServer and http.server.HTTPServer
I tried also passing the body as an hard-coded binary string

some version informations:
Python 3.9.2
HTTP Client used: Postman 8.10, curl, Chrome


Thanks a lot for any help
Manuel
History
Date User Action Args
2021-10-19 13:42:01manuel_bsetrecipients: + manuel_b
2021-10-19 13:42:01manuel_bsetmessageid: <1634650921.13.0.397110972299.issue45523@roundup.psfhosted.org>
2021-10-19 13:42:01manuel_blinkissue45523 messages
2021-10-19 13:42:00manuel_bcreate