[ https://issues.apache.org/jira/browse/OLTU-130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Antonio Sanso resolved OLTU-130. -------------------------------- Resolution: Fixed > [Doc] POST to resource server with authentication > ------------------------------------------------- > > Key: OLTU-130 > URL: https://issues.apache.org/jira/browse/OLTU-130 > Project: Apache Oltu > Issue Type: Task > Components: oauth2-client > Affects Versions: oauth2-0.31 > Reporter: Christian > Assignee: Antonio Sanso > Labels: documentaion > > There seems to be no feature to post a resource to the server with > authentication. But that's something almost every application needs. Below > you'll find my current solution. > I would provide a patch, but I find the client code very confusing (nested > classes in OAuthClientRequest; inconsistent naming of OAuthRequestBuilder and > subclass OAuthBearerClientRequest; overengineered OAuthParametersApplier and > its subclasses). > > Best regards, > Christian > > {code:title=OAuthBearerClientPostRequest.java|borderStyle=solid} > package org.apache.oltu.oauth2.client.request; > import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest; > import org.apache.oltu.oauth2.client.request.OAuthClientRequest; > import org.apache.oltu.oauth2.common.OAuth; > import org.apache.oltu.oauth2.common.exception.OAuthSystemException; > class OAuthBearerClientPostRequest extends OAuthBearerClientRequest { > private String contentType; > private String body; > protected OAuthBearerClientPostRequest(String url) { > super(url); > } > // Override to get the interface of this subclass. > @Override > public OAuthBearerClientPostRequest setAccessToken(String accessToken) { > super.setAccessToken(accessToken); > return this; > } > public OAuthBearerClientPostRequest setContentType(String contentType) { > this.contentType = contentType; > return this; > } > public OAuthBearerClientPostRequest setBody(String body) { > this.body = body; > return this; > } > public OAuthClientRequest buildHeaderMessage() throws > OAuthSystemException { > OAuthClientRequest request = super.buildHeaderMessage(); > request.setBody(this.body); > request.setHeader(OAuth.HeaderType.CONTENT_TYPE, this.contentType); > return request; > } > /** > * Not supported. Use #buildHeaderMessage() instead. > * > * @throws UnsupportedOperationException always > */ > public OAuthClientRequest buildQueryMessage() throws OAuthSystemException > { > throw new UnsupportedOperationException("Not supported. Use > #buildHeaderMessage() instead."); > } > /** > * Not supported. Use #buildHeaderMessage() instead. > * > * @throws UnsupportedOperationException always > */ > public OAuthClientRequest buildBodyMessage() throws OAuthSystemException { > throw new UnsupportedOperationException("Not supported. Use > #buildHeaderMessage() instead."); > } > } > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)