0

i using retrofit2 and want add some header using OkHttp3 addInterceptor but not working

this is my code

OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
    httpClient.addInterceptor(new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {
            Request original = chain.request();
            Request request = original.newBuilder()
                    .removeHeader("Authorization")
                    .removeHeader("Content-type")
                    .removeHeader("User-Agent")
                    .addHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8")
                    .addHeader("Accept-Language", "en-US")
                    .addHeader("User-Agent", ApiConfig.userAgent)
                    .method(original.method(), original.body())
                    .build();
            return chain.proceed(request);
        }
    });
OkHttpClient client = httpClient.build();

    if (apiInterface == null) {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(ApiConfig.baseUrl)
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .client(client)
                .build();
        apiInterface = retrofit.create(ApiInterface.class);
    }
    return apiInterface;

please help me. kind regards

Mr.Milad
  • 57
  • 2
  • 12

1 Answers1

1

Try this if it helps

RestAdapter.Builder builder = new RestAdapter.Builder()
    .setRequestInterceptor(new RequestInterceptor() {
        @Override
        public void intercept(RequestFacade request) {
            request.addHeader("Accept", "application/json;versions=1");
            if (isUserLoggedIn()) {
                request.addHeader("Authorization", getToken());
            }                    
        }
    });
Pratik Vyas
  • 644
  • 7
  • 20