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)