Commit Graph

101 Commits

Author SHA1 Message Date
Malcolm Tredinnick c236874c48 Fixed #7871 -- Added some more bullet-proofing in PATH_INFO determination,
since Django would like it to at least contain a '/' (rather than being an
empty string).


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8032 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-21 22:13:56 +00:00
Malcolm Tredinnick bfcecbffd3 Changed/fixed the way Django handles SCRIPT_NAME and PATH_INFO (or
equivalents). Basically, URL resolving will only use the PATH_INFO and the
SCRIPT_NAME will be prepended by reverse() automatically. Allows for more
portable development and installation. Also exposes SCRIPT_NAME in the
HttpRequest instance.

There are a number of cases where things don't work completely transparently,
so mod_python and fastcgi users should read the relevant docs.

Fixed #285, #1516, #3414.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8015 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-21 07:57:10 +00:00
Malcolm Tredinnick 189c704ae6 Revert [7991] - [7993]. I was committing from the wrong branch. Sorry 'bout
that, folks. :-(


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7995 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-19 19:37:55 +00:00
Malcolm Tredinnick 99bbaa0090 Allow avoidance of the Apache mod_rewrite undo.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7992 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-19 19:32:12 +00:00
Malcolm Tredinnick b653cdcfb2 First part of setting request.path correctly.
Still needs:
    - testing
    - docs changes
    - some way of fixing reverse().


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7991 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-19 19:32:01 +00:00
Malcolm Tredinnick 795b6a1271 Fixed #7471 -- If the 400 response handler raises an exception, pass control to
the 500 handler (if that then raises an exception, it's just not your day).

Patch from Leah Culver.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7988 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-19 18:49:49 +00:00
Malcolm Tredinnick 57bb10e6c4 Refactored the HTTP 500 error response creation slightly. Provides the ability
for subclassing that piece of the processing path.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7928 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-15 19:17:49 +00:00
Malcolm Tredinnick 8975bba742 Fixed #4148 -- Changed the way attachments are served to IE to avoid some
caching and header-related bugs there. Only comes into play when Internet
Explorer is the user-agent.

Patch from Michael Axiak, with testing from Axis_of_Entropy and Karen Tracey.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7856 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-07 01:45:19 +00:00
Jacob Kaplan-Moss d725cc9734 Fixed #2070: refactored Django's file upload capabilities.
A description of the new features can be found in the new [http://www.djangoproject.com/documentation/upload_handing/ upload handling documentation]; the executive summary is that Django will now happily handle uploads of large files without issues.

This changes the representation of uploaded files from dictionaries to bona fide objects; see BackwardsIncompatibleChanges for details.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7814 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-01 15:10:51 +00:00
Luke Plant 8c9fceebb1 Added DEBUG_PROPAGATE_EXCEPTIONS setting that helps testing under e.g. twill
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7537 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-05-16 23:24:36 +00:00
Gary Wilson Jr d73c70d1ed Fixed #5595 -- Made `ModPythonRequest.__repr__` return a string instead of a unicode object. Fixes the printout of the request object in those server error e-mails I never get :)
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7200 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-03-08 03:06:30 +00:00
Jacob Kaplan-Moss 03ebd159a0 Fixed #4701 -- sys.exit() will no longer get swallowed by the http handler. Slightly backwards compatible, perhaps, but you really shouldn't be sys.exit()ing in view code anyway. Thanks, Bastian Kleineidam.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7168 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-02-28 01:52:59 +00:00
Malcolm Tredinnick 050b8a436a Fixed #6305 -- Always emit the got_request_exception signal, even when
DEBUG=True. Patch from Collin Anderson.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7068 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-02-03 04:06:35 +00:00
Gary Wilson Jr c882d7c99c Re-organized imports in handler modules to adhere to Django coding style.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6826 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-12-02 02:22:19 +00:00
Malcolm Tredinnick 3ee3d6b5f3 Fixed #5898 -- Changed a few response processing paths to make things harder to get wrong and easier to get right. Previous behaviour wasn't buggy, but it was harder to use than necessary.
We now have automatic HEAD processing always (previously required ConditionalGetMiddleware), middleware benefits from the Location header rewrite, so they can use relative URLs as well, and responses with response codes 1xx, 204 or 304 will always have their content removed, in accordance with the HTTP spec (so it's much harder to indavertently deliver invalid responses).

Based on a patch and diagnosis from regexbot@gmail.com.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6662 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-11 03:55:44 +00:00
Malcolm Tredinnick 375a6d78cb Fixed #3496 -- Handle the case of missing (and hence '0') Content-Length header
in a POST to the wsgi handler. Based on a patch from Mikko Ohtamaa.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6592 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-21 23:52:08 +00:00
Malcolm Tredinnick f34935c37f Slightly changed the way we handle non-UTF-8 encoded URIs (see [6475]). Made it
easier to subclass the current behaviour, if needed. Fixed #5738.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6550 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-20 07:42:34 +00:00
Adrian Holovaty 8ae74eae55 Fixed #5738 -- Fixed bug with defective Unicode strings in a URL
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6475 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-13 02:57:57 +00:00
Gary Wilson Jr 39d61439e0 Re-organized imports to adhere to PEP 8.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6430 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-27 17:01:34 +00:00
Gary Wilson Jr 1f42d1c9a5 Removed unused import, unneeded due to [4144].
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6429 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-27 17:00:07 +00:00
Gary Wilson Jr f4bb24658b Fixed #5604 -- Check for use of HTTPS by looking at the `wsgi.url_scheme` environment variable instead of the `HTTPS` environment variable since `wsgi.url_scheme` is required by the WSGI spec, while `HTTPS` is not. Thanks, ramiro.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6428 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-27 16:57:55 +00:00
Malcolm Tredinnick 1ef4f5eac6 Fixed #4710 -- Improved mod_python HTTPS checking. Thanks, Aaron Maxwell, SmileyChris and Graham Dumpleton.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6359 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-16 12:10:28 +00:00
Malcolm Tredinnick 4b610f42d3 Added a get_host() method to HttpRequest. There is still an http.get_host() version in place, so this is fully backwards compatible.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6296 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-15 17:46:03 +00:00
Malcolm Tredinnick 8d3d5a37b4 Fixed #5109 -- Pass the request object to any exception signal handler. Thanks, Collin Anderson.
This is fully backwards compatible, despite the addition of an extra argument.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6292 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-15 16:34:41 +00:00
Jacob Kaplan-Moss ca9388cdaf Added more dict-like methods to HttpResponse as part of the response.headers -> response._headers move, and fixed a few direct uses of response.headers in Django itself. Thanks to PhiR for tracking down and slaying these bugs.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6235 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-14 22:33:56 +00:00
Jacob Kaplan-Moss 4100eab823 Fixed the breakage in [6164] in a different, better way: HttpResponse now implements __contains__ along with __get/set/delitem__, as it should. This is a bit more robust, and should prevent similar breakage from user code.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6221 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-14 21:41:48 +00:00
Jacob Kaplan-Moss 06f4c38b55 Case-insensitive HttpResponse headers ([6212]) broke absolute URL redirects ([6164]); this fixes the breakage.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6219 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-14 21:36:39 +00:00
Malcolm Tredinnick e70d7e6064 Fixed #987 -- Convert relative URI portions into absolute URIs in HTTP Location headers. Based on a patch from SmileyChris.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6164 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-14 05:28:00 +00:00
Malcolm Tredinnick 6d31e431c3 Fixed #4909 -- Fixed a race condition with middleware initialisation in multi-threaded setups. Thanks, colin@owlfish.com.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5868 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-12 10:24:05 +00:00
Malcolm Tredinnick fad7247715 Changed HttpRequest.path to be a Unicode object. It has already been
URL-decoded by the time we see it anyway, so keeping it as a UTF-8 bytestring
was causing unnecessary problems.

Also added handling for non-ASCII URL fragments in feed creation (the portion
that was outside the control of the Feed class was messed up).



git-svn-id: http://code.djangoproject.com/svn/django/trunk@5629 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-07 17:15:54 +00:00
Malcolm Tredinnick 953badbea5 Merged Unicode branch into trunk (r4952:5608). This should be fully
backwards compatible for all practical purposes.

Fixed #2391, #2489, #2996, #3322, #3344, #3370, #3406, #3432, #3454, #3492, #3582, #3690, #3878, #3891, #3937, #4039, #4141, #4227, #4286, #4291, #4300, #4452, #4702


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5609 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-04 12:11:04 +00:00
Malcolm Tredinnick 439cb4047f Fixed #4040 -- Changed uses of has_key() to "in". Slight performance
improvement and forward-compatible with future Python releases. Patch from Gary
Wilson.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@5091 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-26 13:30:48 +00:00
Jacob Kaplan-Moss a5d3e0c3ef Fixed #3187 -- Django will now look for the root URLconf as an attribute of the request object, if available. This lets middleware override the urlconf as needed. Thanks, Fredrik Lundh.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4237 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-12-26 14:40:33 +00:00
Adrian Holovaty d506b90163 Fixed #2924 -- Development server no longer spins on an empty form post. Bug caused by [3805]
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4144 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-11-29 22:51:24 +00:00
Adrian Holovaty e1d23323b6 Fixed small bug in 'The view ____ didn't return an HttpResponse object' message -- it assumed the view was a function, whereas it can be any callable object
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4128 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-11-28 22:58:10 +00:00
Adrian Holovaty e71fb7c7f2 Fixed #3057 -- Improved wsgi backend to tolerate empty string in CONTENT_LENGTH. Thanks for the patch, Ivan Sagalaev
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4107 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-11-26 23:52:12 +00:00
Adrian Holovaty 9884211a1a Fixed #3057 -- Fixed typo in [4091]. Thanks for the heads-up, Barry Pederson
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4094 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-11-23 17:48:06 +00:00
Adrian Holovaty a2e227f2fa Fixed #3057 -- Changed WSGI handler not to expect CONTENT_LENGTH. Thanks for the patch, Ivan Sagalaev
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4091 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-11-23 17:06:11 +00:00
Adrian Holovaty 41d11a685f Fixed #2968 -- Changed arguments to __import__ to use empty dictionary instead of empty string, for stricter compliance with Python library reference. Thanks for the patch, Yasushi Masuda
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3951 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-10-30 20:50:27 +00:00
Adrian Holovaty 6fa3498d9f Reverted [3919] because it requires mod_python 3.2.10+
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3933 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-10-25 02:55:51 +00:00
Adrian Holovaty 9c4918e16d Fixed #2865 -- Reverted [3866] (problem with mod_python SERVER_PORT
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3927 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-10-24 16:54:32 +00:00
Adrian Holovaty 8a8472d300 Changed django.core.handlers.modpython ModPythonRequest.is_secure() to use req.is_https(). Thanks, Jeremy Dunck
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3919 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-10-24 16:07:39 +00:00
Adrian Holovaty c0127f015b Folded BaseHandler.get_technical_error_response() into BaseHandler.get_response() to save the overhead of a function call, and because that logic didn't need to be abstracted.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3879 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-09-28 02:37:41 +00:00
Adrian Holovaty f22cd4ec05 Folded BaseHandler.get_friendly_error_response() into BaseHandler.get_response() to save the overhead of a function call, and because that logic didn't need to be abstracted.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3878 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-09-28 02:34:48 +00:00
Adrian Holovaty f638234932 Removed ENABLE_PSYCO setting. If you still need to use this, write custom middleware that activates psyco for you.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3877 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-09-28 02:31:05 +00:00
Adrian Holovaty beeb719c12 Folded django.core.handlers.modpython.populate_apache_request into ModPythonHandler.__call__() to save the overhead of a function call, and because that logic didn't need to be abstracted.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3876 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-09-28 02:07:00 +00:00
Adrian Holovaty 15e7805ae4 Changed BaseHandler.get_response() to take a single parameter (an HttpRequest object) rather than a URL and the HttpRequest object, which is redundant
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3875 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-09-28 01:56:02 +00:00
Adrian Holovaty b019331f44 Fixed #2782 -- Fixed incorrect request.META['SERVER_PORT'] for mod_python.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3866 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-09-26 16:00:52 +00:00
Malcolm Tredinnick f1c63992f7 Fixed #2745 -- Made the __repr__ methods for modpython and wsgi request more
robust in the face of bad input, since they are needed for error handling.
Based on a patch from md@hudora.de.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@3820 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-09-25 07:25:12 +00:00
Malcolm Tredinnick 28fad23a3f A corrected version of r3805.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3807 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-09-23 13:53:02 +00:00