Mapping URL patterns to request handlers

We must map URL patterns to our previously coded subclasses of tornado.web.RequestHandler. The following lines create the main entry point for the application, initialize it with the URL patterns for the API, and starts listening for requests. Open the previously created api.py file and add the following lines. The code file for the sample is included in the restful_python_chapter_09_01 folder:

application = web.Application([ 
    (r"/hexacopters/([0-9]+)", HexacopterHandler), 
    (r"/leds/([0-9]+)", LedHandler), 
    (r"/altimeters/([0-9]+)", AltimeterHandler), 
], debug=True) 
 
 
if __name__ == "__main__": 
    port = 8888 
    print("Listening at port {0}".format(port)) 
    application.listen(port) 
    ioloop.IOLoop.instance().start() 

The preceding code creates an instance of tornado.web.Application named application with the collection of request handlers that make up the Web application. The code passes a list of tuples to the Application constructor. The list is composed of a regular expression (regexp) and a tornado.web.RequestHandler subclass (request_class). In addition, the code sets the debug argument to True to enable debugging.

The main method calls the application.listen method to build an HTTP server for the application with the defined rules on the specified port. In this case, the code specifies 8888 as the port, saved in the port variable, which is the default port for Tornado HTTP servers. Then, the call to tornado.ioloop.IOLoop.instance().start() starts the server created with the previous call to the application.listen method.

Tip

As with any other Web framework, you should never enable debugging in a production environment.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.133.61