Actix-web basics
The Actix-web framework builds upon the actor model that's implemented by the actix crate, which we already covered in Chapter 7, Advanced Concepts. Actix-web advertises itself as a small, fast, and pragmatic HTTP web framework. It's primarily an asynchronous framework that relies internally on tokio and the futures crate but also provides a synchronous API and both of these APIs can be composed together seamlessly.
The entry point of any web application written using actix-web
is the App
struct. On an App
instance, we can configure various route handlers and middlewares. We can also initialize our App
with any state that we need to maintain across a request response. The route handlers that are provided on App
implement the Handler
trait and are simply functions that map a request to a response. They can also include request filters, which can forbid access to a particular route based on a predicate.
Actix-web internally spawns a number of worker threads, each with its own...