2016-07-06 1 views
1

Authenticator 및/또는 Interceptor를 기존 Okhttp 인스턴스에 추가/제거 할 수 있습니까? 그렇다면 어떻게?Okhttp 3.x에서 인증 자/인터셉터를 동적으로 추가/제거

+1

음의 클라이언트의 제한 시간을 조정하기위한 예제가있다

OkHttpClient.Builder clientBuilder = client1.newBuilder(); clientBuilder.networkInterceptors().add(0, serviceInterceptor); OkHttpClient client2 = clientBuilder.build(); 

등등 : https://github.com/square/okhttp/wiki/Interceptors # application-interceptors okhttp 인스턴스 생성 중에 인터셉터를 추가하는 방법을 보여줍니다. 하지만 나중에 새 인스턴스를 만들지 않고 추가 할 수있는 방법을 찾을 수 없습니다. –

답변

2

아니요, 불가능합니다.

그러나 기존 클라이언트에서 빌더를 만들고이를 변경할 수 있습니다. 이 발송자를 공유, connectionPool는 API 꽤 설명은 javadoc의 https://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.html

+0

일반적으로 의존성 삽입을 통해 단일 인스턴스 객체로 okhttp를 작성하므로 인터셉터를 추가/제거 할 때마다 다른 인스턴스와 '교체'할 수 없습니다. –

+0

OP가 "기존 Okhttp 인스턴스"를 나타냅니다. – Onheiron

+0

잘 작동하지 않을 수도 있지만 답변입니다. 미안하다. –