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