Opened 19 years ago
Closed 19 years ago
#2742 closed defect (duplicate)
[patch] core.handlers.wsgi.py doesn't properly handle blank CONTENT LENGTH with patch
| Reported by: | anonymous | Owned by: | Adrian Holovaty |
|---|---|---|---|
| Component: | Core (Other) | Version: | dev |
| Severity: | major | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
I was getting some strange errors trying to do some AJAX-type stuff and kept getting a strange traceback. I traced it to the wsgi.py:122.
if CONTENT LENGTH = , it fails with a Value Error.
Here is a patch:
replace line 122 with these:
try:
self._raw_post_data = self.environwsgi.input.read(int(self.environCONTENT_LENGTH))
except ValueError:
self._raw_post_data = self.environwsgi.input.read(0)
return self._raw_post_data
Corey Oordt
Attachments (1)
Change History (5)
comment:1 by , 19 years ago
comment:2 by , 19 years ago
| Severity: | normal → major |
|---|
I've encountered this bug too.
When I'm POSTing empty form under Lighttpd it does not sets CONTENT_LENGTH variable, and Django fails
Here is my traceback:
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/django/core/handlers/base.py", line 74, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/var/aromagic/aromagic/trunk/src/aromagic/manage/priceitem/views.py", line 65, in _wrapped_view_func
data = view_func(request, *args, **kwargs)
File "/var/aromagic/aromagic/trunk/src/aromagic/manage/priceitem/views.py", line 161, in assign_variation
new_data = request.POST.copy()
File "/usr/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 136, in _get_post
self._load_post_and_files()
File "/usr/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 116, in _load_post_and_files
self._post, self._files = http.QueryDict(self.raw_post_data), datastructures.MultiValueDict()
File "/usr/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 160, in _get_raw_post_data
content_length = int(self.environ['CONTENT_LENGTH'])
KeyError: 'CONTENT_LENGTH'
comment:3 by , 19 years ago
| Summary: | core.handlers.wsgi.py doesn't properly handle blank CONTENT LENGTH with patch → [patch] core.handlers.wsgi.py doesn't properly handle blank CONTENT LENGTH with patch |
|---|
comment:4 by , 19 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
Sorry, I've overlooked this ticket and filed a dupe today: #3057
But since that ticket is already applied I'm marking this one as a dupe instead.
Do you need the read(0) here instead of just setting
self._raw_post_data = ''?