sanic/examples/blueprint_middlware_execution_order.py

54 lines
984 B
Python
Raw Normal View History

from sanic import Blueprint, Sanic
from sanic.response import text
"""
Demonstrates that blueprint request middleware are executed in the order they
are added. And blueprint response middleware are executed in _reverse_ order.
On a valid request, it should print "1 2 3 6 5 4" to terminal
"""
app = Sanic("Example")
bp = Blueprint("bp_example")
@bp.on_request
def request_middleware_1(request):
print("1")
@bp.on_request
def request_middleware_2(request):
print("2")
@bp.on_request
def request_middleware_3(request):
print("3")
@bp.on_response
def resp_middleware_4(request, response):
print("4")
@bp.on_response
def resp_middleware_5(request, response):
print("5")
@bp.on_response
def resp_middleware_6(request, response):
print("6")
@bp.route("/")
def pop_handler(request):
return text("hello world")
app.blueprint(bp, url_prefix="/bp")
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000, debug=True, auto_reload=False)