use of feign.RequestInterceptor in project feign by OpenFeign.
the class ReactiveFeignIntegrationTest method testRequestInterceptors.
@Test
public void testRequestInterceptors() {
this.webServer.enqueue(new MockResponse().setBody("1.0"));
RequestInterceptor mockInterceptor = mock(RequestInterceptor.class);
TestReactorService service = ReactorFeign.builder().requestInterceptors(Arrays.asList(mockInterceptor, mockInterceptor)).target(TestReactorService.class, this.getServerUrl());
StepVerifier.create(service.version()).expectNext("1.0").expectComplete().verify();
verify(mockInterceptor, times(2)).apply(any(RequestTemplate.class));
}
use of feign.RequestInterceptor in project product-apim by wso2.
the class ApiClient method setCredentials.
/**
* Helper method to configure the username/password for basic auth or password OAuth
*
* @param username Username
* @param password Password
*/
public void setCredentials(String username, String password) {
for (RequestInterceptor apiAuthorization : apiAuthorizations.values()) {
if (apiAuthorization instanceof HttpBasicAuth) {
HttpBasicAuth basicAuth = (HttpBasicAuth) apiAuthorization;
basicAuth.setCredentials(username, password);
return;
}
if (apiAuthorization instanceof OAuth) {
OAuth oauth = (OAuth) apiAuthorization;
oauth.getTokenRequestBuilder().setUsername(username).setPassword(password);
return;
}
}
throw new RuntimeException("No Basic authentication or OAuth configured!");
}
use of feign.RequestInterceptor in project product-apim by wso2.
the class HttpBasicAuth method apply.
@Override
public void apply(RequestTemplate template) {
RequestInterceptor requestInterceptor = new BasicAuthRequestInterceptor(username, password);
requestInterceptor.apply(template);
}
use of feign.RequestInterceptor in project product-apim by wso2.
the class ApiClient method configureAuthorizationFlow.
/**
* Helper method to configure the oauth accessCode/implicit flow parameters
*
* @param clientId Client ID
* @param clientSecret Client secret
* @param redirectURI Redirect URI
*/
public void configureAuthorizationFlow(String clientId, String clientSecret, String redirectURI) {
for (RequestInterceptor apiAuthorization : apiAuthorizations.values()) {
if (apiAuthorization instanceof OAuth) {
OAuth oauth = (OAuth) apiAuthorization;
oauth.getTokenRequestBuilder().setClientId(clientId).setClientSecret(clientSecret).setRedirectURI(redirectURI);
oauth.getAuthenticationRequestBuilder().setClientId(clientId).setRedirectURI(redirectURI);
return;
}
}
}
use of feign.RequestInterceptor in project product-apim by wso2.
the class ApiClient method setAccessToken.
/**
* Helper method to pre-set the oauth access token of the first oauth found in the apiAuthorizations (there
* should be only one)
*
* @param accessToken Access Token
* @param expiresIn Validity period in seconds
*/
public void setAccessToken(String accessToken, Long expiresIn) {
for (RequestInterceptor apiAuthorization : apiAuthorizations.values()) {
if (apiAuthorization instanceof OAuth) {
OAuth oauth = (OAuth) apiAuthorization;
oauth.setAccessToken(accessToken, expiresIn);
return;
}
}
}
Aggregations