HTTP Methods¶
on_request accepts only safe methods:GET, HEAD, OPTIONS by default. There are 2 ways to allow unsafe methods.
Define on_{method}¶
This example shows how to define allowed methods in a view class. You can use on_request to do common processes.
@api.route("/new-user")
class User:
async def on_request(self, req, resp):
# called before any methods.
pass
async def on_get(self, req, resp):
# process only `GET` method.
pass
async def on_post(self, req, resp):
# process only `POST` method.
pass
Set allowed_methods¶
Another way is to set allowed_methods in a view class.
@api.route("/new-comment")
class Comment:
allowed_methods = ["post"]
async def on_request(self, req, resp):
# able to response against `POST`!
pass
async def on_delete(self, req, resp):
# `on_{method}` is also available.
pass
This example allows safe methods and some unsafe methods(POST, DELETE) . Other unsafe requests like PUT will get 405 Method Not Allowed .