Browse Source

Merge pull request #1338 from cvrebert/middleware-docs

Improve docs of signatures of before/after/teardown callback funcs
pull/1339/head
Markus Unterwaditzer 10 years ago
parent
commit
6e6a3e8cfb
  1. 20
      flask/app.py

20
flask/app.py

@ -1243,7 +1243,13 @@ class Flask(_PackageBoundObject):
@setupmethod @setupmethod
def before_request(self, f): def before_request(self, f):
"""Registers a function to run before each request.""" """Registers a function to run before each request.
The function will be called without any arguments.
If the function returns a non-None value, it's handled as
if it was the return value from the view and further
request handling is stopped.
"""
self.before_request_funcs.setdefault(None, []).append(f) self.before_request_funcs.setdefault(None, []).append(f)
return f return f
@ -1252,6 +1258,9 @@ class Flask(_PackageBoundObject):
"""Registers a function to be run before the first request to this """Registers a function to be run before the first request to this
instance of the application. instance of the application.
The function will be called without any arguments and its return
value is ignored.
.. versionadded:: 0.8 .. versionadded:: 0.8
""" """
self.before_first_request_funcs.append(f) self.before_first_request_funcs.append(f)
@ -1298,6 +1307,8 @@ class Flask(_PackageBoundObject):
When a teardown function was called because of a exception it will When a teardown function was called because of a exception it will
be passed an error object. be passed an error object.
The return values of teardown functions are ignored.
.. admonition:: Debug Note .. admonition:: Debug Note
In debug mode Flask will not tear down a request on an exception In debug mode Flask will not tear down a request on an exception
@ -1332,6 +1343,8 @@ class Flask(_PackageBoundObject):
When a teardown function was called because of an exception it will When a teardown function was called because of an exception it will
be passed an error object. be passed an error object.
The return values of teardown functions are ignored.
.. versionadded:: 0.9 .. versionadded:: 0.9
""" """
self.teardown_appcontext_funcs.append(f) self.teardown_appcontext_funcs.append(f)
@ -1710,8 +1723,9 @@ class Flask(_PackageBoundObject):
def preprocess_request(self): def preprocess_request(self):
"""Called before the actual request dispatching and will """Called before the actual request dispatching and will
call every as :meth:`before_request` decorated function. call each :meth:`before_request` decorated function, passing no
If any of these function returns a value it's handled as arguments.
If any of these functions returns a value, it's handled as
if it was the return value from the view and further if it was the return value from the view and further
request handling is stopped. request handling is stopped.

Loading…
Cancel
Save