Right now before_request cannot emit HTTP exceptions. This should be improved by allowing a certain useful subset of exception functionality there.
There is an experimental branch for this now.
This is replicable with:
from flask import Flask
from werkzeug.exceptions import HTTPException
app = Flask(__name__)
raise HTTPException("This is not propagated as an Exception")
return 'This is a view'
if __name__ == '__main__':
Where is flask filtering/swallowing HTTPExceptions ?