Hi there: Currently I'm trying to integrate Guice(plus Guice-servlet) with another framework called Stripes. Things are working fine until I found the forward functionality is not working as expected.
I dig into the Stripes code as well as Guice code, and finally figure out the reason is that Guice has injected a proxied HttpServletRequest into the context instead of the original one. The code locates at: com.google.inject.servlet.ServletDefinition#doService(final ServletRequest servletRequest, ServletResponse servletResponse), where Guice returned an inner class and has delegated some servlet methods. The most important thing is that the input parameter "servletRequest" is eaten by guice. In the other side, Stripes is expecting to get it's own request object (wrapper class of HttpServletRequest) and execute the following: request.getRequestDispatcher(path).forward(request, response); However the request object returned by Guice does not work here. By debugging I can see the guice-returned-request object contains the reference to the real request object that I need, but since it's implemented in the inner class and also package visibility, I dont know how to get it out. Since this is most probably a guice-servlet issue, so I post here instead of the Stripes mail list. I do need some directions or hints on this, as I'm wondering if this is the right way towards the solution. Thanks in advance. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "google-guice" 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?hl=en -~----------~----~----~----~------~----~------~--~---
