context is an Object which you can mutate to pass data between middlewares.
The next function will run the rest of the middlewares and then the current route, and will return the final Response. This lets you run some logic after the full route has been processed, and before it returns the final response.