We currently route requests first based on the request method, then based on path. This leads to a problem when the combination of method and path in the request doesn't match the expected route, most likely leading to a 404. This is confusing if the path is correct, because we should respond with a 405.