file middleware behaves like page middleware

It doesn't need the touer, request or response. It just provides a data
object that can be later used to populate the response