Middleware: you pass in the responsewriter and the request to the next middleware function. This lets you swap out the response writer for your own writer.