use of okhttp3.internal.http2.Header in project azure-sdk-for-java by Azure.
the class MockIntegrationTestBase method recordRequestAndResponse.
private Response recordRequestAndResponse(Interceptor.Chain chain) throws IOException {
Request request = chain.request();
NetworkCallRecord networkCallRecord = new NetworkCallRecord();
networkCallRecord.Headers = new HashMap<>();
try {
if (request.header("Content-Type") != null) {
networkCallRecord.Headers.put("Content-Type", request.header("Content-Type"));
}
if (request.header("x-ms-version") != null) {
networkCallRecord.Headers.put("x-ms-version", request.header("x-ms-version"));
}
if (request.header("User-Agent") != null) {
networkCallRecord.Headers.put("User-Agent", request.header("User-Agent"));
}
networkCallRecord.Method = request.method();
networkCallRecord.Uri = applyRegex(request.url().toString().replaceAll("\\?$", ""));
} catch (Exception e) {
}
Response response = chain.proceed(chain.request());
networkCallRecord.Response = new HashMap<>();
try {
networkCallRecord.Response.put("StatusCode", Integer.toString(response.code()));
extractResponseData(networkCallRecord.Response, response);
// remove pre-added header if this is a waiting or redirection
if (networkCallRecord.Response.get("Body").contains("<Status>InProgress</Status>") || Integer.parseInt(networkCallRecord.Response.get("StatusCode")) == HttpStatus.SC_TEMPORARY_REDIRECT) {
} else {
synchronized (testRecord.networkCallRecords) {
testRecord.networkCallRecords.add(networkCallRecord);
}
}
} catch (Exception e) {
}
return response;
}
use of okhttp3.internal.http2.Header in project WordPress-Android by wordpress-mobile.
the class GravatarApi method createClient.
private static OkHttpClient createClient(final String accessToken) {
OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
//// uncomment the following line to add logcat logging
//httpClientBuilder.addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY));
// add oAuth token usage
httpClientBuilder.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
Request.Builder requestBuilder = original.newBuilder().header("Authorization", "Bearer " + accessToken).method(original.method(), original.body());
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
return httpClientBuilder.build();
}
use of okhttp3.internal.http2.Header in project Retrofit-Android-Basic by basil2style.
the class ServiceGenerator method createService.
public static <S> S createService(Class<S> serviceClass, final String authToken) {
if (authToken != null) {
httpClient.interceptors().add(new Interceptor() {
@Override
public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
// Request customization: add request headers
Request.Builder requestBuilder = original.newBuilder().header("Authorization", authToken).method(original.method(), original.body());
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
}
OkHttpClient client = httpClient.build();
Retrofit retrofit = builder.client(client).build();
return retrofit.create(serviceClass);
}
use of okhttp3.internal.http2.Header in project smartmodule by carozhu.
the class OkHttpUtils method getInstance.
public static OkHttpClient.Builder getInstance(final Context context) {
mcontext = context;
if (singleton == null) {
synchronized (OkHttpUtils.class) {
if (singleton == null) {
singleton = new OkHttpClient().newBuilder();
singleton.connectTimeout(HTTP_CONNECT_TIMEOUT, TimeUnit.SECONDS);
singleton.readTimeout(HTTP_READ_TIMEOUT, TimeUnit.SECONDS);
//okhttp设置错误重新连接
singleton.retryOnConnectionFailure(true);
//singleton.addNetworkInterceptor(REWRITE_RESPONSE_INTERCEPTOR);
//singleton.addInterceptor(REWRITE_RESPONSE_INTERCEPTOR_OFFLINE);
File cacheDir = new File(context.getCacheDir(), RESPONSE_CACHE);
singleton.cache(new Cache(cacheDir, RESPONSE_CACHE_SIZE));
//or use
//Cache cache = new Cache(context.getCacheDir(), RESPONSE_CACHE_SIZE);
//singleton.cache(cache);
//singleton.interceptors().add(new ReceivedCookiesInterceptor(context));
//singleton.interceptors().add(new AddCookiesInterceptor(context));
//singleton.addNetworkInterceptor(mTokenInterceptor)
//addNetworkInterceptor 让所有网络请求都附上你的拦截器,
//如这里设置了一个 token 拦截器,就是在所有网络请求的 header 加上 token 参数,下面会稍微讲一下这个内容
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
singleton.addInterceptor(interceptor);
if (ConfigureManager.getConfigureManager().isOkhttpCache()) {
//设置缓存路径
File httpCacheDirectory = new File(context.getCacheDir(), "httpCacheResponses");
//设置缓存 100M
Cache cache = new Cache(httpCacheDirectory, RESPONSE_CACHE_SIZE);
Interceptor myinterceptor = new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Log.i(TAG, "request=" + request);
if (!NetworkUtil.isNetworkAvailable(context)) {
request = request.newBuilder().cacheControl(CacheControl.FORCE_CACHE).build();
Log.i(TAG, "no network");
}
Response response = chain.proceed(request);
if (NetworkUtil.isNetworkAvailable(context)) {
// 有网络时 设置缓存超时时间0个小时
int maxAge = 0 * 60;
Log.i(TAG, "has network maxAge=" + maxAge);
response.newBuilder().header("Cache-Control", "public, max-age=" + maxAge).removeHeader(// 清除头信息,因为服务器如果不支持,会返回一些干扰信息,不清除下面无法生效
"Pragma").build();
} else {
Log.i(TAG, "network error");
// 无网络时,设置超时为4周
int maxStale = 60 * 60 * 24 * 28;
Log.i(TAG, "has maxStale=" + maxStale);
response.newBuilder().header("Cache-Control", "public, only-if-cached, max-stale=" + maxStale).removeHeader("Pragma").build();
Log.i(TAG, "response build maxStale=" + maxStale);
}
return response;
}
};
singleton.addInterceptor(myinterceptor).cache(cache);
}
}
}
}
return singleton;
}
use of okhttp3.internal.http2.Header in project chefly_android by chef-ly.
the class HttpConnection method downloadFromFeed.
public String downloadFromFeed(RequestMethod requestPackage) throws IOException {
String address = requestPackage.getEndpoint();
String encodedParams = requestPackage.getEncodedParams();
//check for get request
if (requestPackage.getMethod().equals("GET") && encodedParams.length() > 0) {
address = String.format("%s?%s", address, encodedParams);
}
//create request object
OkHttpClient client;
if (BuildConfig.DEBUG) {
client = new OkHttpClient.Builder().addInterceptor(new LoggingInterceptor()).build();
} else {
client = new OkHttpClient();
}
Request.Builder requestBuilder = new Request.Builder().url(address);
// Add required HTTP Header
Map<String, String> headers = requestPackage.getHeaders();
if (headers.size() > 0) {
for (String k : headers.keySet()) {
if (k != null) {
requestBuilder.addHeader(k, headers.get(k));
}
}
}
//check for post request
if (requestPackage.getMethod().equals("POST")) {
//extract the parameters from the request
//get the reference of the pair
Map<String, String> params = requestPackage.getParams();
String msg = "";
if (params.size() == 1) {
for (String key : params.keySet()) msg = params.get(key);
} else {
JSONObject parameter = new JSONObject(params);
msg = parameter.toString();
}
RequestBody body = RequestBody.create(JSON, msg);
Log.d(TAG, msg);
requestBuilder.post(body);
//requestBuilder.addHeader("content-type", "application/json; charset=utf-8");
requestBuilder.addHeader("content-type", "application/x-www-form-urlencoded");
}
Request request = requestBuilder.build();
//get response with the use of the method newCall
//synchronous request
Response response = client.newCall(request).execute();
//check if the request is successful
if (response.isSuccessful()) {
this.statusMessage = response.message();
return response.body().string();
} else {
Log.d(TAG, response.toString());
throw new IOException("Exception: response code " + response.code());
}
}
Aggregations