2015-09-29 12 views
6

すでにビルドされているOkHttpリクエストオブジェクトにヘッダを追加したいとします。要求によりnewBuilder()に電話する必要がありますか? newBuilder()は何をしますか?その後、ビルドされたOkHttpリクエストオブジェクトにヘッダを追加するには?

+0

ルーク元を読んでください。 https://github.com/square/okhttp/blob/0ac2471d0678dfa9d535fbb13a546134dc2b3089/okhttp/src/main/java/com/squareup/okhttp/Request.java#L93 –

+0

インターセプターが必要なようです。インターセプタでnewBuilder()を使用してヘッダを簡単に挿入できます。 –

答えて

8

これはRequestにジャストワンタイムヘッダー挿入の場合は、必ず: request.newBuilder().addHeader("header-name", "value").build();

あなたは、あなたのOkHttpClient内のすべてのRequestのためにこれを行うインターセプターを使用する場合:

private static final class AddHeaderInterceptor implements Interceptor { 

    @Override public Response intercept(Chain chain) throws IOException { 
    Request request = chain.request(); 
    request = request.newBuilder().addHeader("header-name", "value").build(); 
    return chain.proceed(request); 
    } 
} 

newBuilder()が行うことについては、ソースを読んでください。 :) https://github.com/square/okhttp/blob/0ac2471d0678dfa9d535fbb13a546134dc2b3089/okhttp/src/main/java/com/squareup/okhttp/Request.java#L93

関連する問題