2016-06-02 30 views
7

私はアクセストークンをリフレッシュするためにこのlinkをフォローしました。代わりにokhttp3で予期しないストリームの終了

UserLogin userLogin = call.execute().body(); 

のバック改造呼び出しからONFAILURE方法

public class TokenAuthenticator implements Authenticator { 
    AccessTokenRefreshModel accessTokenRefreshModel = null; 

    @Override 
    public Request authenticate(Route route, Response response) throws IOException { 
     Call<UserLogin> call = iService.refreshAccessToken(BuildConfig.CLIENT_ID, refreshToken); 
     UserLogin userLogin = call.execute().body(); 
     // Add new header to rejected request and retry it 
     return response.request().newBuilder() 
       .header(AUTHORIZATION, userLogin.getAccessToken()) 
       .build(); 
    } 
} 


Call<User> call = iService.createuser(user); 
call.enqueue(new Callback<User>() { 
    @Override 
    public void onResponse(Call<User> call, Response<User> response) { 

    } 

    @Override 
    public void onFailure(Call<User> call, Throwable t) { 
    //**Unexpected end of stream on okhttp3** 
    } 
+0

を試しながら、ロギングインターセプター? – Debanjan

+0

@Debanjanはい私はロギングインターセプタを使用しています。 –

+0

ログインターセプタを削除して、一度チェックします。 – Debanjan

答えて

0

をokhttp3上のストリームの予期しない終了のエラーを取得okHttpに認証を追加すると、使用している

retrofit2.Response<UserLogin> tokenResponse = call.execute(); 
関連する問題