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 christian.heimes
Recipients benjamin.peterson, christian.heimes
Date 2018-03-13.12:06:43
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1520942803.97.0.467229070634.issue33067@psf.upfronthosting.co.za>
In-reply-to
Content
https://bugs.python.org/issue23302 changed how http.client sends request. endheaders() no longer sends header and message body in one TCP package if the total payload is smaller than TCP max segment size. https://github.com/python/cpython/blob/3.5/Lib/http/client.py#L934-L936 uses two send calls to send header and body. This causes very simple HTTP servers in embedded devices to fail.

Matthew Garrett noticed the bug, see https://twitter.com/mjg59/status/972985566387032064 / https://twitter.com/mjg59/status/973000950439817217

We should try to send requests as one TCP package again. TCP_CORK may do the trick. Or we should fix our custom implementation of send. It has multiple issues, e.g. a fixed buffer. The buffer size is suboptimal for small MTU and jumbo frames.
History
Date User Action Args
2018-03-13 12:06:44christian.heimessetrecipients: + christian.heimes, benjamin.peterson
2018-03-13 12:06:43christian.heimessetmessageid: <1520942803.97.0.467229070634.issue33067@psf.upfronthosting.co.za>
2018-03-13 12:06:43christian.heimeslinkissue33067 messages
2018-03-13 12:06:43christian.heimescreate