Loading src/main/java/com/inteligr8/rs/Client.java +19 −7 Original line number Diff line number Diff line package com.inteligr8.rs; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.ClientRequestFilter; import javax.ws.rs.client.WebTarget; import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider; Loading @@ -13,22 +12,35 @@ public abstract class Client { protected abstract ClientConfiguration getConfig(); public javax.ws.rs.client.Client getClient() { ClientRequestFilter authFilter = this.getConfig().getAuthorizationFilter(); public final javax.ws.rs.client.Client getClient() { return this.getClient(null); } public javax.ws.rs.client.Client getClient(AuthorizationFilter authFilter) { ClientBuilder clientBuilder = ClientBuilder.newBuilder() .register(new JacksonJaxbJsonProvider()); if (authFilter == null) authFilter = this.getConfig().createAuthorizationFilter(); if (authFilter != null) clientBuilder.register(authFilter); return clientBuilder.build(); } public WebTarget getTarget() { return this.getClient() public final WebTarget getTarget() { return this.getTarget(null); } public WebTarget getTarget(AuthorizationFilter authFilter) { return this.getClient(authFilter) .target(this.getConfig().getBaseUrl()); } public abstract <T> T getApi(Class<T> apiClass); public final <T> T getApi(Class<T> apiClass) { return this.getApi(null, apiClass); } public abstract <T> T getApi(AuthorizationFilter authFilter, Class<T> apiClass); } src/main/java/com/inteligr8/rs/ClientConfiguration.java +1 −3 Original line number Diff line number Diff line Loading @@ -2,8 +2,6 @@ package com.inteligr8.rs; import java.net.URI; import javax.ws.rs.client.ClientRequestFilter; public interface ClientConfiguration { String getBaseUrl(); Loading @@ -28,7 +26,7 @@ public interface ClientConfiguration { String getOAuthPassword(); default ClientRequestFilter getAuthorizationFilter() { default AuthorizationFilter createAuthorizationFilter() { if (this.getAccessToken() != null) { return new AccessTokenRequestFilter(this.getAccessToken()); } else if (this.getOAuthTokenUrl() != null) { Loading src/main/java/com/inteligr8/rs/ClientCxfImpl.java +8 −4 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ package com.inteligr8.rs; import java.util.LinkedList; import java.util.List; import javax.ws.rs.client.ClientRequestFilter; import javax.ws.rs.ext.RuntimeDelegate; import org.apache.cxf.BusFactory; Loading Loading @@ -43,10 +42,15 @@ public abstract class ClientCxfImpl extends Client implements InitializingBean { } public WebClient getCxfClient() { return this.getCxfClient(null); } public WebClient getCxfClient(AuthorizationFilter authFilter) { List<Object> providersAndFilters = new LinkedList<Object>(); providersAndFilters.add(new JacksonJaxbJsonProvider()); ClientRequestFilter authFilter = this.getConfig().getAuthorizationFilter(); if (authFilter == null) authFilter = this.getConfig().createAuthorizationFilter(); if (authFilter != null) providersAndFilters.add(authFilter); Loading @@ -66,8 +70,8 @@ public abstract class ClientCxfImpl extends Client implements InitializingBean { } @Override public <T> T getApi(Class<T> apiClass) { return JAXRSClientFactory.fromClient(this.getCxfClient(), apiClass); public <T> T getApi(AuthorizationFilter authFilter, Class<T> apiClass) { return JAXRSClientFactory.fromClient(this.getCxfClient(authFilter), apiClass); } } src/main/java/com/inteligr8/rs/ClientJerseyImpl.java +4 −4 Original line number Diff line number Diff line Loading @@ -36,8 +36,8 @@ public abstract class ClientJerseyImpl extends Client implements InitializingBea } @Override public javax.ws.rs.client.Client getClient() { javax.ws.rs.client.Client client = super.getClient(); public javax.ws.rs.client.Client getClient(AuthorizationFilter authFilter) { javax.ws.rs.client.Client client = super.getClient(authFilter); if (!this.getConfig().isPutBodyRequired()) { // allow PUT operations without body data Loading @@ -48,8 +48,8 @@ public abstract class ClientJerseyImpl extends Client implements InitializingBea } @Override public <T> T getApi(Class<T> apiClass) { return WebResourceFactory.newResource(apiClass, this.getTarget()); public <T> T getApi(AuthorizationFilter authFilter, Class<T> apiClass) { return WebResourceFactory.newResource(apiClass, this.getTarget(authFilter)); } } src/main/java/com/inteligr8/rs/ForwardingAuthorizationFilter.java 0 → 100755 +19 −0 Original line number Diff line number Diff line package com.inteligr8.rs; import javax.ws.rs.client.ClientRequestContext; import javax.ws.rs.core.HttpHeaders; public class ForwardingAuthorizationFilter implements AuthorizationFilter { private final String authorizationHeaderValue; public ForwardingAuthorizationFilter(String authorizationHeaderValue) { this.authorizationHeaderValue = authorizationHeaderValue; } @Override public void filter(ClientRequestContext requestContext) { requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, this.authorizationHeaderValue); } } Loading
src/main/java/com/inteligr8/rs/Client.java +19 −7 Original line number Diff line number Diff line package com.inteligr8.rs; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.ClientRequestFilter; import javax.ws.rs.client.WebTarget; import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider; Loading @@ -13,22 +12,35 @@ public abstract class Client { protected abstract ClientConfiguration getConfig(); public javax.ws.rs.client.Client getClient() { ClientRequestFilter authFilter = this.getConfig().getAuthorizationFilter(); public final javax.ws.rs.client.Client getClient() { return this.getClient(null); } public javax.ws.rs.client.Client getClient(AuthorizationFilter authFilter) { ClientBuilder clientBuilder = ClientBuilder.newBuilder() .register(new JacksonJaxbJsonProvider()); if (authFilter == null) authFilter = this.getConfig().createAuthorizationFilter(); if (authFilter != null) clientBuilder.register(authFilter); return clientBuilder.build(); } public WebTarget getTarget() { return this.getClient() public final WebTarget getTarget() { return this.getTarget(null); } public WebTarget getTarget(AuthorizationFilter authFilter) { return this.getClient(authFilter) .target(this.getConfig().getBaseUrl()); } public abstract <T> T getApi(Class<T> apiClass); public final <T> T getApi(Class<T> apiClass) { return this.getApi(null, apiClass); } public abstract <T> T getApi(AuthorizationFilter authFilter, Class<T> apiClass); }
src/main/java/com/inteligr8/rs/ClientConfiguration.java +1 −3 Original line number Diff line number Diff line Loading @@ -2,8 +2,6 @@ package com.inteligr8.rs; import java.net.URI; import javax.ws.rs.client.ClientRequestFilter; public interface ClientConfiguration { String getBaseUrl(); Loading @@ -28,7 +26,7 @@ public interface ClientConfiguration { String getOAuthPassword(); default ClientRequestFilter getAuthorizationFilter() { default AuthorizationFilter createAuthorizationFilter() { if (this.getAccessToken() != null) { return new AccessTokenRequestFilter(this.getAccessToken()); } else if (this.getOAuthTokenUrl() != null) { Loading
src/main/java/com/inteligr8/rs/ClientCxfImpl.java +8 −4 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ package com.inteligr8.rs; import java.util.LinkedList; import java.util.List; import javax.ws.rs.client.ClientRequestFilter; import javax.ws.rs.ext.RuntimeDelegate; import org.apache.cxf.BusFactory; Loading Loading @@ -43,10 +42,15 @@ public abstract class ClientCxfImpl extends Client implements InitializingBean { } public WebClient getCxfClient() { return this.getCxfClient(null); } public WebClient getCxfClient(AuthorizationFilter authFilter) { List<Object> providersAndFilters = new LinkedList<Object>(); providersAndFilters.add(new JacksonJaxbJsonProvider()); ClientRequestFilter authFilter = this.getConfig().getAuthorizationFilter(); if (authFilter == null) authFilter = this.getConfig().createAuthorizationFilter(); if (authFilter != null) providersAndFilters.add(authFilter); Loading @@ -66,8 +70,8 @@ public abstract class ClientCxfImpl extends Client implements InitializingBean { } @Override public <T> T getApi(Class<T> apiClass) { return JAXRSClientFactory.fromClient(this.getCxfClient(), apiClass); public <T> T getApi(AuthorizationFilter authFilter, Class<T> apiClass) { return JAXRSClientFactory.fromClient(this.getCxfClient(authFilter), apiClass); } }
src/main/java/com/inteligr8/rs/ClientJerseyImpl.java +4 −4 Original line number Diff line number Diff line Loading @@ -36,8 +36,8 @@ public abstract class ClientJerseyImpl extends Client implements InitializingBea } @Override public javax.ws.rs.client.Client getClient() { javax.ws.rs.client.Client client = super.getClient(); public javax.ws.rs.client.Client getClient(AuthorizationFilter authFilter) { javax.ws.rs.client.Client client = super.getClient(authFilter); if (!this.getConfig().isPutBodyRequired()) { // allow PUT operations without body data Loading @@ -48,8 +48,8 @@ public abstract class ClientJerseyImpl extends Client implements InitializingBea } @Override public <T> T getApi(Class<T> apiClass) { return WebResourceFactory.newResource(apiClass, this.getTarget()); public <T> T getApi(AuthorizationFilter authFilter, Class<T> apiClass) { return WebResourceFactory.newResource(apiClass, this.getTarget(authFilter)); } }
src/main/java/com/inteligr8/rs/ForwardingAuthorizationFilter.java 0 → 100755 +19 −0 Original line number Diff line number Diff line package com.inteligr8.rs; import javax.ws.rs.client.ClientRequestContext; import javax.ws.rs.core.HttpHeaders; public class ForwardingAuthorizationFilter implements AuthorizationFilter { private final String authorizationHeaderValue; public ForwardingAuthorizationFilter(String authorizationHeaderValue) { this.authorizationHeaderValue = authorizationHeaderValue; } @Override public void filter(ClientRequestContext requestContext) { requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, this.authorizationHeaderValue); } }