2016-06-02 7 views
7

पर स्ट्रीम का अप्रत्याशित अंत मैंने टोकन को रीफ्रेश करने के लिए इस link का पालन किया था। विधिokhttp3

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

@ डेबन हां मैं लॉगिंग इंटरसेप्टर का उपयोग कर रहा हूं। –

+0

लॉगिंग इंटरसेप्टर को हटाएं और एक बार जांचें। – Debanjan

उत्तर

0

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

के बजाय onFailure okhttp3 पर धारा के अनपेक्षित अंत की okHttp हो रही त्रुटि के प्रमाणक जोड़ने पुराना वापस कॉल से वापस जबकि कोशिश

retrofit2.Response<UserLogin> tokenResponse = call.execute(); 
संबंधित मुद्दे