#14594 closed (fixed)
Django/CherryPy problem with POST data
Reported by: | Mark Sundstrom | Owned by: | nobody |
---|---|---|---|
Component: | HTTP handling | Version: | dev |
Severity: | Keywords: | ||
Cc: | Ivan Sagalaev | Triage Stage: | Unreviewed |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Changeset [14394] causes a hang when reading POST data running Django trunk behind CherryPy 3.1.2 and Python 2.7.
See this thread on Django Developers:
<http://groups.google.com/group/django-developers/browse_thread/thread/6f803957fd4b4152>
Attachments (1)
Change History (7)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:3 by , 14 years ago
Has patch: | set |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
The fix in [14435] is exactly backwards -- content_length should be passed to read() when available, not the other way around.
by , 14 years ago
Attachment: | 14594.diff added |
---|
Patch to reverse the use of content_length applied in [14435]
comment:4 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:5 by , 14 years ago
Oops - sorry about that. I had the code right in my editor during testing; I just hit undo a few too many times removing some debug before I committed (Honest! I did! :-)
Steps to reproduce Ticket #14594
I used a virtualenv running Python 2.7, but I don't think the Python version matters
# Install or make sure you are using Django trunk >= 14394
pip install CherryPy # 3.1.2
django-admin.py startproject newbug
cd newbug
python manage.py runserver # verify on port 8000 that "It works!"
# Edit urls.py to enable the admin
# Edit settings.py to enable the admin
# Edit settings.py to create a database.
# I used sqlite3 and specified a path
python manage.py syncdb # setup the database and create a superuser
# Verify that you can login, using the development server and your new superuser at
# localhost:8000/admin/
# Log out, stop the development server
python manage.py shell
# The admin media will not be served, but this doesn't matter
# Go to localhost:8080/admin/
# Try to login with your superuser, or just click the login button with blank input
# Hangs