Support for HTTP OPTIONS method and Microsoft Office Protocol Discovery

I ran across an interesting issue with Microsoft Office Protocol
Discovery. It was generating exception emails due to its use of the
OPTIONS method. See
for more information.

I implemented the solution there but soon found that every request for
a non-existent URI (http://localhost/asdf/asdf/as/dfff/ff), generated
an exception due to

with more information found out:

It is strange to me that the route matching would throw an error
because the path matched but the method doesn’t. Shouldn’t the route
matching continue through the rest of the routes before making that