Comment #1 on issue 376 by grandcheburator: Servlet regex path dispatching
is inflexible for getServletPath()
http://code.google.com/p/google-guice/issues/detail?id=376
The underlying problem can also cause an exception when getServletPath() is
called.
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1949)
at
com.google.inject.servlet.UriPatternType$RegexUriPatternMatcher.extractPath(UriPatternType.java:116)
at
com.google.inject.servlet.ServletDefinition$2.computePath(ServletDefinition.java:204)
at
com.google.inject.servlet.ServletDefinition$2.getServletPath(ServletDefinition.java:190)
at com.google.foo.bar.SomeServlet.doGet(ShortLaunchUrlServlet.java:43)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216)
at
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141)
at
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at com.google.someFilter.doFilter(LaunchCalModule.java:527)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
at
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
at
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
The servlet in question was registered with the following regex:
"^/((?:index\\.php/)?something/view/)?(\\d+)$"
and the request was of the form http://server/1234
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"google-guice-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-guice-dev?hl=en
-~----------~----~----~----~------~----~------~--~---