Chapter 3: Routing and Intaking HTTP Requests
Back in Chapter 1, Introduction to Sanic and Async Frameworks, we looked at a raw HTTP request to see what kind of information it includes. In this chapter, we are going to take a closer look at the first line, which contains the HTTP method and the URI path. As we learned, the most basic function of a web framework is to translate a raw HTTP request into an actionable handler. Before we see how we can implement this, it is good to keep in mind what raw requests look like:
POST /path/to/endpoint HTTP/1.1 Host: localhost:7777 User-Agent: curl/7.76.1 Accept: */* Content-Length: 14 Content-Type: application/json {"foo": "bar"}
Looking at the request, we see the following:
- The first line (sometimes called the start line) contains three parts: the HTTP method, request target, and HTTP protocol.
- The second section contains zero or more lines of HTTP headers in
key: value
form, with each pair separated by...