Retrofit2: Modifying request body in OkHttp Interceptor

前端 未结 4 1920
遥遥无期
遥遥无期 2020-12-01 15:37

I am using Retrofit 2 (2.0.0-beta3) with OkHttp client in Android application and so far everything going great. But currently I am facing issue with OkHttp Interceptor. The

4条回答
  •  长情又很酷
    2020-12-01 16:19

    I'm using this way to verify my token

    final OkHttpClient okHttpClient = new OkHttpClient.Builder()
                    .connectTimeout(30, TimeUnit.SECONDS) //retrofit default 10 seconds
                    .writeTimeout(30, TimeUnit.SECONDS) //retrofit default 10 seconds
                    .readTimeout(30, TimeUnit.SECONDS) //retrofit default 10 seconds
                    .addInterceptor(logging.setLevel(HttpLoggingInterceptor.Level.BODY))
                    .addInterceptor(new BasicAuthInterceptor())
                    .build();
    

    Here i'm sending token through BasicAuthInterceptor

    public class MyServiceInterceptor implements Interceptor {
    
    private String HEADER_NAME="Authorization";
    private String OBJECT_NAME="Bearer";
    private String SPACE="  ";
    @Override public Response intercept(Chain chain) throws IOException {
        Request request = chain.request();
    
        Request.Builder requestBuilder = request.newBuilder();
    
        String token= PreferenceManager.getInstance().getString(PreferenceManager.TOKEN);
            if (token != null) { {
                requestBuilder.addHeader(HEADER_NAME, OBJECT_NAME+SPACE+ token);
            }
    }
    
        return chain.proceed(requestBuilder.build());
    

    } }

提交回复
热议问题