Skip to content

Conversation

@zanieb
Copy link
Contributor

@zanieb zanieb commented Dec 21, 2023

Closes #427

When a WSGI application does not return sufficient content to satisfy the attached Content-Length header, the connection is closed to prevent the client from needlessly waiting. However, HTTP HEAD requests can set a Content-Length header without any content in the body. #7 removed a warning that was incorrectly displayed when this occurs, but the connection was still being closed. As demonstrated in #427, this abrupt close can cause client-side failures. Here, the connection is no longer closed for HEAD requests with Content-Length set, which resolves the linked issue.

@zanieb
Copy link
Contributor Author

zanieb commented Jan 21, 2024

The lint failure here is entirely unrelated to this pull request, it looks like black needs to be run on main?

@digitalresistor digitalresistor merged commit e9796b1 into Pylons:main Feb 4, 2024
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jun 13, 2024
3.0.0 (2024-02-04)
------------------

- Rename "master" git branch to "main"

- Fix a bug that would appear on macOS whereby if we accept() a socket that is
  already gone, setting socket options would fail and take down the server. See
  Pylons/waitress#399

- Fixed testing of vendored asyncore code to not rely on particular naming for
  errno's. See Pylons/waitress#397

- HTTP Request methods and versions are now validated to meet the HTTP
  standards thereby dropping invalid requests on the floor. See
  Pylons/waitress#423

- No longer close the connection when sending a HEAD request response. See
  Pylons/waitress#428

- Always attempt to send the Connection: close response header when we are
  going to close the connection to let the remote know in more instances.
  Pylons/waitress#429

- Python 3.7 is no longer supported. Add support for Python 3.11, 3.12 and
  PyPy 3.9, 3.10. See Pylons/waitress#412

- Document that trusted_proxy may be set to a wildcard value to trust all
  proxies. See Pylons/waitress#431
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Broken connections with many concurrent HEAD requests

2 participants