Search in sources :

Example 36 with Route

use of com.google.cloud.compute.v1.Route in project Audient by komamj.

the class AudientRepositoryModule method provideOkHttpClient.

@Singleton
@Provides
OkHttpClient provideOkHttpClient(Cache cache, final SharedPreferences sharedPreferences, final Gson gson) {
    final HttpLoggingInterceptor logInterceptor = new HttpLoggingInterceptor();
    if (BuildConfig.DEBUG) {
        logInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
    }
    return new OkHttpClient.Builder().authenticator(new Authenticator() {

        @Nullable
        @Override
        public Request authenticate(Route route, Response response) throws IOException {
            String refershToken = sharedPreferences.getString(Constants.REFRESH_TOKEN, "");
            Retrofit retrofit = new Retrofit.Builder().baseUrl(Constants.AUDIENT_HOST).client(new OkHttpClient.Builder().addInterceptor(logInterceptor).build()).addConverterFactory(GsonConverterFactory.create(gson)).addCallAdapterFactory(RxJava2CallAdapterFactory.create()).build();
            AudientApi audientApi = retrofit.create(AudientApi.class);
            audientApi.refreshAccessToken(GRANT_TYPE, refershToken, Constants.CLIENT_ID, Constants.CLIENT_SECRET).subscribeWith(new DisposableSubscriber<Token>() {

                @Override
                public void onNext(Token token) {
                    sharedPreferences.edit().putString(Constants.ACCESS_TOKEN, token.accessToken).commit();
                    sharedPreferences.edit().putString(Constants.REFRESH_TOKEN, token.refreshToken).commit();
                }

                @Override
                public void onError(Throwable t) {
                    LogUtils.e(TAG, "refresh token error :" + t.getMessage());
                    sharedPreferences.edit().putBoolean(Constants.LOGIN_STATUS, false).commit();
                    android.os.Process.killProcess(android.os.Process.myPid());
                }

                @Override
                public void onComplete() {
                }
            });
            return response.request().newBuilder().header("Authorization", "Bearer " + sharedPreferences.getString(Constants.ACCESS_TOKEN, "")).build();
        }
    }).addInterceptor(new TokenInterceptor(sharedPreferences)).addInterceptor(logInterceptor).cache(cache).connectTimeout(15, TimeUnit.SECONDS).readTimeout(20, TimeUnit.SECONDS).writeTimeout(20, TimeUnit.SECONDS).retryOnConnectionFailure(true).build();
}
Also used : OkHttpClient(okhttp3.OkHttpClient) GsonBuilder(com.google.gson.GsonBuilder) Request(okhttp3.Request) Token(com.xinshang.audient.model.entities.Token) IOException(java.io.IOException) DisposableSubscriber(io.reactivex.subscribers.DisposableSubscriber) Response(okhttp3.Response) Retrofit(retrofit2.Retrofit) HttpLoggingInterceptor(okhttp3.logging.HttpLoggingInterceptor) Authenticator(okhttp3.Authenticator) Nullable(android.support.annotation.Nullable) Route(okhttp3.Route) TokenInterceptor(com.xinshang.audient.model.helper.TokenInterceptor) Singleton(javax.inject.Singleton) Provides(dagger.Provides)

Example 37 with Route

use of com.google.cloud.compute.v1.Route in project bgpcep by opendaylight.

the class AbstractRIBSupport method fromNormalizedNode.

@Override
public R fromNormalizedNode(final YangInstanceIdentifier routePath, final NormalizedNode normalizedNode) {
    final DataObject node = mappingService.fromNormalizedNode(routePath, normalizedNode).getValue();
    verify(node instanceof Route, "node %s is not a Route", node);
    return (R) node;
}
Also used : DataObject(org.opendaylight.yangtools.yang.binding.DataObject) Route(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.Route)

Example 38 with Route

use of com.google.cloud.compute.v1.Route in project okhttp-digest by rburgst.

the class DigestAuthenticatorTest method beforeMethod.

@Before
public void beforeMethod() {
    Connection mockConnection = mock(Connection.class);
    Dns mockDns = mock(Dns.class);
    SocketFactory socketFactory = mock(SocketFactory.class);
    Authenticator proxyAuthenticator = mock(Authenticator.class);
    ProxySelector proxySelector = mock(ProxySelector.class);
    Proxy proxy = mock(Proxy.class);
    // setup some dummy data so that we dont get NPEs
    Address address = new Address("localhost", 8080, mockDns, socketFactory, null, null, null, proxyAuthenticator, null, Collections.singletonList(Protocol.HTTP_1_1), Collections.singletonList(ConnectionSpec.MODERN_TLS), proxySelector);
    InetSocketAddress inetSocketAddress = new InetSocketAddress("localhost", 8080);
    mockRoute = new Route(address, proxy, inetSocketAddress);
    given(mockConnection.route()).willReturn(mockRoute);
    authenticator = new DigestAuthenticator(new Credentials("user1", "user1"));
}
Also used : ProxySelector(java.net.ProxySelector) Proxy(java.net.Proxy) Address(okhttp3.Address) InetSocketAddress(java.net.InetSocketAddress) SocketFactory(javax.net.SocketFactory) InetSocketAddress(java.net.InetSocketAddress) Connection(okhttp3.Connection) Dns(okhttp3.Dns) Authenticator(okhttp3.Authenticator) Route(okhttp3.Route) Before(org.junit.Before)

Example 39 with Route

use of com.google.cloud.compute.v1.Route in project okhttp-digest by rburgst.

the class AuthenticationCacheInterceptor method intercept.

@Override
public Response intercept(Chain chain) throws IOException {
    final Request request = chain.request();
    final String key = cacheKeyProvider.getCachingKey(request);
    CachingAuthenticator authenticator = authCache.get(key);
    Request authRequest = null;
    Connection connection = chain.connection();
    Route route = connection != null ? connection.route() : null;
    if (authenticator != null) {
        authRequest = authenticator.authenticateWithState(route, request);
    }
    if (authRequest == null) {
        authRequest = request;
    }
    Response response = chain.proceed(authRequest);
    // Cached response was used, but it produced unauthorized response (cache expired).
    int responseCode = response != null ? response.code() : 0;
    if (authenticator != null && (responseCode == HTTP_UNAUTHORIZED || responseCode == HTTP_PROXY_AUTH)) {
        // Remove cached authenticator and resend request
        if (authCache.remove(key) != null) {
            response.body().close();
            Platform.get().log("Cached authentication expired. Sending a new request.", Platform.INFO, null);
            // Force sending a new request without "Authorization" header
            response = chain.proceed(request);
        }
    }
    return response;
}
Also used : Response(okhttp3.Response) Request(okhttp3.Request) CachingAuthenticator(com.burgstaller.okhttp.digest.CachingAuthenticator) Connection(okhttp3.Connection) Route(okhttp3.Route)

Example 40 with Route

use of com.google.cloud.compute.v1.Route in project pinpoint by pinpoint-apm.

the class RealConnectionConnectMethodInterceptor method doInAfterTrace.

@Override
protected void doInAfterTrace(SpanEventRecorder recorder, Object target, Object[] args, Object result, Throwable throwable) {
    recorder.recordApi(methodDescriptor);
    recorder.recordServiceType(OkHttpConstants.OK_HTTP_CLIENT_INTERNAL);
    recorder.recordException(throwable);
    if (target instanceof RouteGetter) {
        final Route route = ((RouteGetter) target)._$PINPOINT$_getRoute();
        if (route != null) {
            final String hostAndPort = getHostAndPort(route);
            recorder.recordAttribute(AnnotationKey.HTTP_INTERNAL_DISPLAY, hostAndPort);
        }
    }
}
Also used : Route(okhttp3.Route) RouteGetter(com.navercorp.pinpoint.plugin.okhttp.v3.RouteGetter)

Aggregations

Route (okhttp3.Route)30 Response (okhttp3.Response)16 Authenticator (okhttp3.Authenticator)14 Request (okhttp3.Request)12 IOException (java.io.IOException)10 OkHttpClient (okhttp3.OkHttpClient)10 InetSocketAddress (java.net.InetSocketAddress)9 Route (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev171207.Route)9 Proxy (java.net.Proxy)7 Route (io.fabric8.knative.serving.v1.Route)6 RouteBuilder (io.fabric8.knative.serving.v1.RouteBuilder)6 Test (org.junit.Test)6 Test (org.junit.jupiter.api.Test)6 InstanceIdentifier (org.opendaylight.yangtools.yang.binding.InstanceIdentifier)6 KeyedInstanceIdentifier (org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier)6 Address (okhttp3.Address)5 Connection (okhttp3.Connection)5 RIBSupport (org.opendaylight.protocol.bgp.rib.spi.RIBSupport)5 Identifier (org.opendaylight.yangtools.yang.binding.Identifier)5 Builder (okhttp3.OkHttpClient.Builder)4