Skip to content

Commit

Permalink
Document middleware on_request and on_response (#2398)
Browse files Browse the repository at this point in the history
  • Loading branch information
Bluenix2 authored Feb 13, 2022
1 parent 68b654d commit d4fb44e
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions sanic/mixins/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ def middleware(
self, middleware_or_request, attach_to="request", apply=True
):
"""
Decorate and register middleware to be called before a request.
Can either be called as *@app.middleware* or
*@app.middleware('request')*
Decorate and register middleware to be called before a request
is handled or after a response is created. Can either be called as
*@app.middleware* or *@app.middleware('request')*.
`See user guide re: middleware
<https://sanicframework.org/guide/basics/middleware.html>`__
Expand Down Expand Up @@ -47,12 +47,25 @@ def register_middleware(middleware, attach_to="request"):
)

def on_request(self, middleware=None):
"""Register a middleware to be called before a request is handled.
This is the same as *@app.middleware('request')*.
:param: middleware: A callable that takes in request.
"""
if callable(middleware):
return self.middleware(middleware, "request")
else:
return partial(self.middleware, attach_to="request")

def on_response(self, middleware=None):
"""Register a middleware to be called after a response is created.
This is the same as *@app.middleware('response')*.
:param: middleware:
A callable that takes in a request and its response.
"""
if callable(middleware):
return self.middleware(middleware, "response")
else:
Expand Down

0 comments on commit d4fb44e

Please sign in to comment.