Robert Hillier created CAMEL-11951:
--------------------------------------
Summary: Uri matching does not match request type
Key: CAMEL-11951
URL: https://issues.apache.org/jira/browse/CAMEL-11951
Project: Camel
Issue Type: Bug
Components: camel-http-common
Affects Versions: 2.20.0
Environment: camel-spring, camel-jetty
OS - RHEL
Reporter: Robert Hillier
I had previously described the problem here:
https://stackoverflow.com/questions/46936348/apache-camel-rest-dsl-405-method-not-allowed
It appears that the problem is down to a possible bug in the way URIs are
matched (not to mention my rather obscure use-case)
I have a number of REST-DSL endpoints with the same URI but different request
types (POST, PUT, GET, DELETE). In my case, the URI is getting selected by
HttpServletResolveConsumerStrategy.resolve (in addition to these, I have some
specific endpoints with wildcards in them)
This method matches the URI, but not the request type. When I send a GET
request, it returns the first consumer candidate it finds which, in my case,
always seems to be PUT. Later, when CamelContinuationServlet.doService checks
that the request type and cadidate type match, they don't. It then returns 405
Method Not Allowed.
I believe that the HttpServletResolveConsumerStrategy.resolve method IN
camel-hhtp-common should check the request type as well as the URI.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)