Chain creates a chain of HTTP middleware functions to wrap around a
http.Handler.
It applies each middleware in the order they are provided, allowing for
layered processing of HTTP requests and responses.
Middleware represents a function that can wrap a http.Handler with
additional functionality. It takes a http.Handler and returns a new
http.Handler that includes the middleware's behavior.