Add example of amending request object
This commit is contained in:
parent
cea1547e08
commit
613b23748d
|
@ -156,4 +156,12 @@ execution support provided by the ``pytest-xdist`` plugin.
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/pytest_xdist.py
|
.. literalinclude:: ../../examples/pytest_xdist.py
|
||||||
|
|
||||||
|
|
||||||
|
Amending Request Object
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The ``request`` object in ``Sanic`` is a kind of ``dict`` object, this means that ``reqeust`` object can be manipulated as a regular ``dict`` object.
|
||||||
|
|
||||||
|
.. literalinclude:: ../../examples/amending_request_object.py
|
||||||
|
|
||||||
For more examples and useful samples please visit the `Huge-Sanic's GitHub Page <https://github.com/huge-success/sanic/tree/master/examples>`_
|
For more examples and useful samples please visit the `Huge-Sanic's GitHub Page <https://github.com/huge-success/sanic/tree/master/examples>`_
|
||||||
|
|
30
examples/amending_request_object.py
Normal file
30
examples/amending_request_object.py
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
from sanic import Sanic
|
||||||
|
from sanic.response import text
|
||||||
|
from random import randint
|
||||||
|
|
||||||
|
app = Sanic()
|
||||||
|
|
||||||
|
|
||||||
|
@app.middleware('request')
|
||||||
|
def append_request(request):
|
||||||
|
# Add new key with random value
|
||||||
|
request['num'] = randint(0, 100)
|
||||||
|
|
||||||
|
|
||||||
|
@app.get('/pop')
|
||||||
|
def pop_handler(request):
|
||||||
|
# Pop key from request object
|
||||||
|
num = request.pop('num')
|
||||||
|
return text(num)
|
||||||
|
|
||||||
|
|
||||||
|
@app.get('/key_exist')
|
||||||
|
def key_exist_handler(request):
|
||||||
|
# Check the key is exist or not
|
||||||
|
if 'num' in request:
|
||||||
|
return text('num exist in request')
|
||||||
|
|
||||||
|
return text('num does not exist in reqeust')
|
||||||
|
|
||||||
|
|
||||||
|
app.run(host="0.0.0.0", port=8000, debug=True)
|
Loading…
Reference in New Issue
Block a user