forked from orbit-oss/flask
Check error handlers for specific classes first
This allows adding error handlers like this:
@app.errorhandler(werkzeug.exceptions.Forbidden)
And subclassing HTTPExceptions:
class ForbiddenBecauseReason(Forbidden): pass
@app.errorhandler(ForbiddenBecauseReason)
def error1(): return "Forbidden because reason", 403
@app.errorhandler(403)
def error2(): return "Forbidden", 403
... the idea being, that a flask extension might want to raise an
exception, with the default behaviour of creating a HTTP error page,
but still allowing the user to add a view/handler specific to that
exception (e.g., "Forbidden because you are not in the right group").
This commit is contained in:
parent
2d8a21c732
commit
3d67736e09
3 changed files with 49 additions and 3 deletions
6
CHANGES
6
CHANGES
|
|
@ -14,6 +14,12 @@ Version 1.0
|
|||
`False` it will only be modified if the session actually modifies.
|
||||
Non permanent sessions are not affected by this and will always
|
||||
expire if the browser window closes.
|
||||
- Error handlers that match specific classes are now checked first,
|
||||
thereby allowing catching exceptions that are subclasses of HTTP
|
||||
exceptions (in ``werkzeug.execptions``). This makes it possible
|
||||
for an extension author to create exceptions that will by default
|
||||
result in the HTTP error of their choosing, but may be caught with
|
||||
a custom error handler if desired.
|
||||
|
||||
Version 0.10.2
|
||||
--------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue