Request models the request object that Steward processes.
It is a wrapper around the HttpRequest object but this may change in future iterations.
Generally, you will not need to new up a request object on your own, but may find that useful
when working with middleware and/or intercepting incoming requests.
writeResponse takes in an HTTP request and a steward response, and writes the
contents of the steward response to the HTTP response.
TODO: this should only be called by Steward
MiddlewareFunc is a typedef that describes what a middleware function looks like.
The main takeaway here is that this function takes in the next handler in the chain
and returns a handlerm itself.
This might sound confusing, but the implementation for this middleware pattern
is likely not as bad as you may think! Check out the documentation for more
information.