Opened 19 years ago
Closed 19 years ago
#3619 closed (invalid)
HttpResponse bug screws up chunked transfer-coding
| Reported by: | Owned by: | Adrian Holovaty | |
|---|---|---|---|
| Component: | Core (Other) | Version: | dev |
| Severity: | Keywords: | http chunked transfer-encoding | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
When an HttpResponse is created, the _container defaults to [""]. Later additions are appended, so you end up with ["", "Actual content here."]. Such a response fails when sent by CherryPy's wsgiserver.py in HTTP/1.1 mode, because the chunked transfer-coding implementation sends a last-chunk token for that first "" in _container.
The attached patch solves the problem by initializing _container to an empty list ([]) when HttpRequest is constructed with content="".
This bug first surfaced in Aspen.
Attachments (1)
Change History (2)
by , 19 years ago
| Attachment: | chunked.patch added |
|---|
comment:1 by , 19 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
The bug lies more properly with CherryPyWSGIServer: it should only write chunks that are non-empty. And in fact, this change has been made in CherryPy 3.0.1.
Sorry to bother you!
patch to make HttpResponse play nicer with HTTP/1.1