According to HTTP Standards when a HTTP method isn't allowed a status code of 405 Method Not Allowed is suppose to be returned. That is not happening with the AcceptVerbAttribute. It is being used to skip a route even if the route is valid, and move on to processing the other routes. Which may or may not be found later on. This will result in a 404 if the route is not found, which is not the desired action.
For example I have the following route that only accepts POST.
/customer/info
It should be processed in the following way according to HTTP standards for the following verbs
GET = 405 Method Not Allowed
POST = 200 OK
PUT = 405 Method Not Allowed
...
However this is what happens with the current framework if there is no generic route to catch it
GET = 404 Not Found
POST = 200 OK
PUT = 404 Not Found
...
This is a problem because 404 Not Found is not HTTP Method specific, it means that the URL is Not Found, not the URL + Verb is Not Found. Is there anyway to fix this problem?
No files are attached