How to add headers to OkHttp request interceptor? How to add headers to OkHttp request interceptor? java java

How to add headers to OkHttp request interceptor?


Finally, I added the headers this way:

@Override    public Response intercept(Interceptor.Chain chain) throws IOException {        Request request = chain.request();        Request newRequest;        newRequest = request.newBuilder()                .addHeader(HeadersContract.HEADER_AUTHONRIZATION, O_AUTH_AUTHENTICATION)                .addHeader(HeadersContract.HEADER_X_CLIENT_ID, CLIENT_ID)                .build();        return chain.proceed(newRequest);    }


you can do it this way

private String GET(String url, Map<String, String> header) throws IOException {        Headers headerbuild = Headers.of(header);        Request request = new Request.Builder().url(url).headers(headerbuild).                        build();        Response response = client.newCall(request).execute();        return response.body().string();    }


here is a useful gist from lfmingo

OkHttpClient.Builder httpClient = new OkHttpClient.Builder();httpClient.addInterceptor(new Interceptor() {    @Override    public Response intercept(Interceptor.Chain chain) throws IOException {        Request original = chain.request();        Request request = original.newBuilder()            .header("User-Agent", "Your-App-Name")            .header("Accept", "application/vnd.yourapi.v1.full+json")            .method(original.method(), original.body())            .build();        return chain.proceed(request);    }}OkHttpClient client = httpClient.build();Retrofit retrofit = new Retrofit.Builder()      .baseUrl(API_BASE_URL)    .addConverterFactory(GsonConverterFactory.create())    .client(client)    .build();