August 2018
Intermediate to advanced
366 pages
10h 14m
English
Most of the magic is done by RestController.__call__:
class RestController:
def __call__(self, req, resp):
method = req.environ['REQUEST_METHOD']
action = getattr(self, method, self._not_found)
return action(req, resp)
Whenever a subclass of RestController is called, it will look at the HTTP request method and look for an instance method named like the HTTP method.
If there is one, the method is called and the response provided by the method itself returned. If there is none, then self._not_found is called, which will just respond a 404 error.
This relies on the WSGIApplication.__call__ support for classes instead of functions.
When WSGIApplication.__call__ finds an object associated to a route through app.route that is a ...