@Override public Call newCall(Request request) { TraceContext currentSpan = currentTraceContext.get(); OkHttpClient.Builder b = ok.newBuilder(); if (currentSpan != null) b.interceptors().add(0, new SetParentSpanInScope(currentSpan)); // TODO: This can hide errors at the beginning of call.execute, such as invalid host! return b.build().newCall(request); }
clientBuilder.interceptors().clear(); clientBuilder.interceptors().add(UnexpectedException.INTERCEPTOR); clientBuilder.networkInterceptors().clear(); clientBuilder.networkInterceptors().add(networkInterceptor);
private void setAuthenticator(OkHttpClient.Builder okHttpClientBuilder, ProcessContext context) { final String authUser = trimToEmpty(context.getProperty(PROP_BASIC_AUTH_USERNAME).getValue()); // If the username/password properties are set then check if digest auth is being used if (!authUser.isEmpty() && "true".equalsIgnoreCase(context.getProperty(PROP_DIGEST_AUTH).getValue())) { final String authPass = trimToEmpty(context.getProperty(PROP_BASIC_AUTH_PASSWORD).getValue()); /* * OkHttp doesn't have built-in Digest Auth Support. A ticket for adding it is here[1] but they authors decided instead to rely on a 3rd party lib. * * [1] https://github.com/square/okhttp/issues/205#issuecomment-154047052 */ final Map<String, CachingAuthenticator> authCache = new ConcurrentHashMap<>(); com.burgstaller.okhttp.digest.Credentials credentials = new com.burgstaller.okhttp.digest.Credentials(authUser, authPass); final DigestAuthenticator digestAuthenticator = new DigestAuthenticator(credentials); okHttpClientBuilder.interceptors().add(new AuthenticationCacheInterceptor(authCache)); okHttpClientBuilder.authenticator(new CachingAuthenticatorDecorator(digestAuthenticator, authCache)); } }
@Override public void applyCredentialsFilter(OkHttpClient.Builder clientBuilder) { clientBuilder.interceptors().add(new MicrosoftAppCredentialsInterceptor(this)); }
@Override public void applyCredentialsFilter(OkHttpClient.Builder clientBuilder) { clientBuilder.interceptors().add(new MicrosoftAppCredentialsInterceptor(this)); }
@Provides @NonNull @Singleton public OkHttpClient providClient(@ClientCache File cacheDir, CacheInterceptor interceptor, @NonNull AppPreferences appPreferences) { final OkHttpClient.Builder okHttpBuilder = new OkHttpClient.Builder(); Cache cache = new Cache(cacheDir, 20 * 1024 * 1024); okHttpBuilder.cache(cache); okHttpBuilder.interceptors().add(interceptor); //needed for force network okHttpBuilder.interceptors().add(getAuthInterceptor(appPreferences)); okHttpBuilder.networkInterceptors().add(interceptor); //needed for offline mode return okHttpBuilder.build(); }
private OpenShiftClient createOC(Config config) { OkHttpClient clientHttpClient = getHttpClient().newBuilder().authenticator(Authenticator.NONE).build(); OkHttpClient.Builder builder = clientHttpClient.newBuilder(); builder.interceptors().clear(); clientHttpClient = builder .addInterceptor( new OpenShiftOAuthInterceptor(clientHttpClient, OpenShiftConfig.wrap(config))) .addInterceptor(new ImpersonatorInterceptor(config)) .build(); return new UnclosableOpenShiftClient(clientHttpClient, config); }
final String myToken = "Zm9vOmJhcg=="; Interceptor interceptor = new Interceptor() { @Override public okhttp3.Response intercept(Chain chain) throws IOException { Request newRequest = chain.request().newBuilder() .addHeader("Authorization", "Basic " + yourtoken).build(); return chain.proceed(newRequest); } }; OkHttpClient.Builder builder = new OkHttpClient.Builder(); builder.interceptors().add(interceptor); OkHttpClient client = builder.build();
public static <S> S createService(Class<S> serviceClass, String apiKey, String secret) { if (!StringUtils.isEmpty(apiKey) && !StringUtils.isEmpty(secret)) { AuthenticationInterceptor interceptor = new AuthenticationInterceptor(apiKey, secret); if (!httpClient.interceptors().contains(interceptor)) { httpClient.addInterceptor(interceptor); builder.client(httpClient.build()); retrofit = builder.build(); } } return retrofit.create(serviceClass); }
@Provides @Singleton OkHttpClient provideOkHttpClient(@Named("api") OkHttpClient mOkHttpClient) { OkHttpClient.Builder builder = mOkHttpClient.newBuilder() .connectTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .retryOnConnectionFailure(true); builder.interceptors().clear(); return builder.build(); }
@Override public Call newCall(Request request) { TraceContext currentSpan = currentTraceContext.get(); OkHttpClient.Builder b = ok.newBuilder(); if (currentSpan != null) b.interceptors().add(0, new SetParentSpanInScope(currentSpan)); // TODO: This can hide errors at the beginning of call.execute, such as invalid host! return b.build().newCall(request); }
@Override public void applyCredentialsFilter(OkHttpClient.Builder clientBuilder) { clientBuilder.interceptors().add(new BasicAuthenticationCredentialsInterceptor(this)); } }
private OkHttpClient clientWithOpenShiftOAuthInterceptor(OkHttpClient httpClient) { httpClient = httpClient.newBuilder().authenticator(Authenticator.NONE).build(); OkHttpClient.Builder builder = httpClient.newBuilder(); builder.interceptors().clear(); return builder.addInterceptor(new OpenShiftOAuthInterceptor(httpClient, OpenShiftConfig.wrap(getConfiguration()))) .addInterceptor(new ImpersonatorInterceptor(getConfiguration())) .addInterceptor(new BackwardsCompatibilityInterceptor()) .build(); }
public void disconnect() { okhttpBuilder.interceptors().clear(); headerInterceptors.clear(); headerValues.clear(); nuxeoCache = null; buildRetrofit(); }
@Override public void applyCredentialsFilter(OkHttpClient.Builder clientBuilder) { clientBuilder.interceptors().add(new TokenCredentialsInterceptor(this)); } }
clientBuilder.interceptors().add(0, new Interceptor() { @Override public Response intercept(Chain chain) throws IOException {
private String authorize() throws IOException { OkHttpClient.Builder builder = client.newBuilder(); builder.interceptors().remove(this); OkHttpClient clone = builder.build(); String credential = Credentials.basic(config.getUsername(), new String(config.getPassword())); URL url = new URL(URLUtils.join(config.getMasterUrl(), AUTHORIZE_PATH)); Response response = clone.newCall(new Request.Builder().get().url(url).header(AUTHORIZATION, credential).build()).execute(); response.body().close(); response = response.priorResponse() != null ? response.priorResponse() : response; response = response.networkResponse() != null ? response.networkResponse() : response; String token = response.header(LOCATION); if (token == null || token.isEmpty()) { throw new IOException("Unexpected response(" + response.code() + " " + response.message() + "), to the authorization request. Missing header:[" + LOCATION + "]!"); } token = token.substring(token.indexOf(BEFORE_TOKEN) + BEFORE_TOKEN.length()); token = token.substring(0, token.indexOf(AFTER_TOKEN)); return token; } }
@VisibleForTesting static okhttp3.OkHttpClient newRawOkHttpClient( Optional<TrustContext> trustContext, Optional<ProxySelector> proxySelector, String userAgent) { // Don't allow retrying on connection failures - see ticket #2194 okhttp3.OkHttpClient.Builder builder = new okhttp3.OkHttpClient.Builder() .connectionSpecs(CONNECTION_SPEC_WITH_CYPHER_SUITES) .connectionPool(new ConnectionPool(CONNECTION_POOL_SIZE, KEEP_ALIVE_TIME_MILLIS, TimeUnit.MILLISECONDS)) .proxySelector(proxySelector.orElse(ProxySelector.getDefault())) .retryOnConnectionFailure(false); if (trustContext.isPresent()) { builder.sslSocketFactory(trustContext.get().sslSocketFactory(), trustContext.get().x509TrustManager()); } builder.interceptors().add(new UserAgentAddingInterceptor(userAgent)); globalClientSettings.accept(builder); return builder.build(); }
private OkHttpClient clientWithOpenShiftOAuthInterceptor(OkHttpClient httpClient) { httpClient = httpClient.newBuilder().authenticator(Authenticator.NONE).build(); OkHttpClient.Builder builder = httpClient.newBuilder(); builder.interceptors().clear(); return builder.addInterceptor(new OpenShiftOAuthInterceptor(httpClient, OpenShiftConfig.wrap(getConfiguration()))) .addInterceptor(new ImpersonatorInterceptor(getConfiguration())) .addInterceptor(new BackwardsCompatibilityInterceptor()) .build(); }
private void setAuthenticator(OkHttpClient.Builder okHttpClientBuilder, ConfigurationContext context) { final String authUser = trimToEmpty(context.getProperty(PROP_BASIC_AUTH_USERNAME).evaluateAttributeExpressions().getValue()); this.basicUser = authUser; isDigest = context.getProperty(PROP_DIGEST_AUTH).asBoolean(); final String authPass = trimToEmpty(context.getProperty(PROP_BASIC_AUTH_PASSWORD).evaluateAttributeExpressions().getValue()); this.basicPass = authPass; // If the username/password properties are set then check if digest auth is being used if (!authUser.isEmpty() && isDigest) { /* * OkHttp doesn't have built-in Digest Auth Support. A ticket for adding it is here[1] but they authors decided instead to rely on a 3rd party lib. * * [1] https://github.com/square/okhttp/issues/205#issuecomment-154047052 */ final Map<String, CachingAuthenticator> authCache = new ConcurrentHashMap<>(); com.burgstaller.okhttp.digest.Credentials credentials = new com.burgstaller.okhttp.digest.Credentials(authUser, authPass); final DigestAuthenticator digestAuthenticator = new DigestAuthenticator(credentials); okHttpClientBuilder.interceptors().add(new AuthenticationCacheInterceptor(authCache)); okHttpClientBuilder.authenticator(new CachingAuthenticatorDecorator(digestAuthenticator, authCache)); } }