always call run middleware in the context of the rack