Found a solution.
The trick is to register a ClientRequestFilter with ResteasyClient (line # 2 of the method below):
public Resource getResource(Credentials credentials) {
ResteasyClient client = new ResteasyClientBuilder().build();
client.register(new AuthHeadersRequestFilter(credentials));
return client.target(restServiceRoot).proxy(Resource.class);
}
And then try the query filter:
public class AuthHeadersRequestFilter implements ClientRequestFilter {
private final String authToken;
public AuthHeadersRequestFilter(Credentials credentials) {
authToken = credentials.getAuthorizationHeader();
}
@Override
public void filter(ClientRequestContext requestContext) throws IOException {
requestContext.getHeaders().add("Authorization", authToken);
}
}
source
share