Well, this is what the router is basically doing. The route did not match because of a specific criteria (disallowed method or HTTP protocol on secure route), thus no RouteMatch is returned, but a Response. Whether the controller uses that response and returns it, or just displays a 404 page, is up to it.