diff options
| author | ianb <devnull@localhost> | 2005-11-05 04:50:59 +0000 |
|---|---|---|
| committer | ianb <devnull@localhost> | 2005-11-05 04:50:59 +0000 |
| commit | f4bd738b1cdba4a11e64773a3d4d016cb8e08fa8 (patch) | |
| tree | 4ed46924b12aa5879b0c6103f7950e33678c917f /paste/httpexceptions.py | |
| parent | 58c5f2dd2c8a156327c5c0d7ac4df13fb7bca41b (diff) | |
| download | paste-f4bd738b1cdba4a11e64773a3d4d016cb8e08fa8.tar.gz | |
Add a hook to the error middleware to ignore (re-raise) exceptions in env[paste.expected_exceptions]; also made httpexceptions put this in. This way if httpexceptions wraps error middleware, it'll still work
Diffstat (limited to 'paste/httpexceptions.py')
| -rw-r--r-- | paste/httpexceptions.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/paste/httpexceptions.py b/paste/httpexceptions.py index ce3ab79..b01be07 100644 --- a/paste/httpexceptions.py +++ b/paste/httpexceptions.py @@ -225,13 +225,17 @@ def middleware(application, global_conf=None): """ def start_application(environ, start_response): + environ.setdefault('paste.expected_exceptions', []).append( + HTTPException) app_started = [] def checked_start_response(status, headers, exc_info=None): app_started.append(None) return start_response(status, headers, exc_info) try: - return application(environ, checked_start_response) + v = application(environ, checked_start_response) + environ['paste.expected_exceptions'].remove(HTTPException) + return v except HTTPException, e: if environ.get('paste.debug_suppress_httpexceptions'): raise |
