Managing state
In a web application, usually, programmers need to create an object that can be reused during the request/response life cycle. In the Rocket web framework, that object is called a state. A state can be anything such as a database connection pool, an object to store various customer statistics, an object to store a connection to a memory store, a client to send Simple Mail Transfer Protocol (SMTP) emails, and many more.
We can tell Rocket to maintain the state, and this is called a managed state. The process of creating a managed state is quite simple. We need to initialize an object, tell Rocket to manage it, and finally use it in a route. One caveat is that we can manage many states from different types, but Rocket can only manage one instance of a Rust type.
Let's try it directly. We are going to have a visitor counter state and tell Rocket to manage it and increment the counter for every incoming request. We can reuse the previous application from the previous...