[
https://issues.apache.org/jira/browse/AMBER-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13274075#comment-13274075
]
Raymond Feng commented on AMBER-51:
-----------------------------------
HttpServeletRequest.getParameter(...) for the form parameters are a bit evil as
they are destructive to the InputStream or Reader. We had to avoid using the
API and parse the query parameters using custom code to not trigger the POST
form processing.
> Guice+Jersey+Amber: Can't correctly create OAuthTokenRequest instance
> ---------------------------------------------------------------------
>
> Key: AMBER-51
> URL: https://issues.apache.org/jira/browse/AMBER-51
> Project: Amber
> Issue Type: Bug
> Environment: jersey 1.10
> guice 3.0-SNAPSHOT
> amber 0.22-incubating-SNAPSHOT
> Reporter: Alexander Urmuzov
>
> I've got a problem with creating OAuthTokenRequest.
> It needs an instance of HttpServletRequest on creation, but all instances
> which I can get through guice or jersey injections have no post parameters.
> Guice injection example:
> private final Provider<HttpServletRequest> requestProvider;
> @Inject
> public TokenEndpoint(Provider<HttpServletRequest> requestProvider) {
> this.requestProvider = requestProvider;
> }
> @POST
> @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
> @Produces(MediaType.APPLICATION_JSON)
> public Response authorize() throws OAuthSystemException {
> OAuthTokenRequest oauthRequest = null;
> try {
> oauthRequest = new OAuthTokenRequest(requestProvider.get());
> ....
> Jersey injection example:
> @POST
> @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
> @Produces(MediaType.APPLICATION_JSON)
> public Response authorize(@Context HttpServletRequest request) throws
> OAuthSystemException {
> OAuthTokenRequest oauthRequest = null;
> try {
> oauthRequest = new OAuthTokenRequest(request);
> Looks like jersey have parsed HttpServletRequest and removed all post
> parameters from it.
> If I attach filter that tries to get some parameter from HttpServletRequest
> before jersey, my code works, but with exception from jersey.
> But I can retrieve MultivaluedMap of post parameters from jersey with all
> data and no errors.
> I think there must be some alternative constructor for such environments. Any
> thoughts?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira