[undertow-dev] Could not handle the same URL to GET and POST with RoutingHandler

Miere Teixeira miere.teixeira at gmail.com
Thu Sep 25 06:39:36 EDT 2014


Hi Devs,

I'm facing a new situation with RoutingHandler. I have two HttpHandler's,
one responsible to retrieve all users registered in my database. The second
one is responsible to include an user into my database.

Both handler was registered with RoutingHandler, both registered with
'/users/' URL but the first one registered for GET and the second for POST.

After upgrade to 1.1.0.Beta7 version, this behavior was broken and throws
the exception described bellow.

I've made this simple unit test that simulates the same error when running
in 1.1.0.Beta7, but works perfectly in 1.1.0.Beta6.
https://gist.github.com/miere/3ef15b916cdaaae1896c

Let me know if it is a bug or the wrong way to achieve this goal. Also, let
me know if I could in some way.

Miere
--

java.lang.IllegalStateException: UT000071: Cannot add path template
/sameurl, matcher already contains an equivalent pattern /sameurl
    at
io.undertow.util.PathTemplateMatcher.add(PathTemplateMatcher.java:112)
    at
io.undertow.util.PathTemplateMatcher.add(PathTemplateMatcher.java:148)
    at io.undertow.server.RoutingHandler.add(RoutingHandler.java:112)
    at io.undertow.server.RoutingHandler.add(RoutingHandler.java:99)
    at
kikaha.core.RoutingHandlerTest.ensureItsPossibleToHandlePostAndGetToSameURL(RoutingHandlerTest.java:16)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
    at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
    at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
    at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
    at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
    at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/undertow-dev/attachments/20140925/197648d8/attachment.html 


More information about the undertow-dev mailing list