private static String responseSourceHeader(Response response) { if (response.networkResponse() == null) { if (response.cacheResponse() == null) { return "NONE"; } return "CACHE " + response.code(); } if (response.cacheResponse() == null) { return "NETWORK " + response.code(); } return "CONDITIONAL_CACHE " + response.networkResponse().code(); }
/** * Returns the subset of the headers in {@code response}'s request that impact the content of * response's body. */ public static Headers varyHeaders(Response response) { // Use the request headers sent over the network, since that's what the // response varies on. Otherwise OkHttp-supplied headers like // "Accept-Encoding: gzip" may be lost. Headers requestHeaders = response.networkResponse().request().headers(); Headers responseHeaders = response.headers(); return varyHeaders(requestHeaders, responseHeaders); }
public void run() throws Exception { Request request = new Request.Builder() .url("http://publicobject.com/helloworld.txt") .build(); String response1Body; try (Response response1 = client.newCall(request).execute()) { if (!response1.isSuccessful()) throw new IOException("Unexpected code " + response1); response1Body = response1.body().string(); System.out.println("Response 1 response: " + response1); System.out.println("Response 1 cache response: " + response1.cacheResponse()); System.out.println("Response 1 network response: " + response1.networkResponse()); } String response2Body; try (Response response2 = client.newCall(request).execute()) { if (!response2.isSuccessful()) throw new IOException("Unexpected code " + response2); response2Body = response2.body().string(); System.out.println("Response 2 response: " + response2); System.out.println("Response 2 cache response: " + response2.cacheResponse()); System.out.println("Response 2 network response: " + response2.networkResponse()); } System.out.println("Response 2 equals Response 1? " + response1Body.equals(response2Body)); }
public void run() throws Exception { for (int i = 0; i < 5; i++) { System.out.println(" Request: " + i); Request request = new Request.Builder() .url("https://api.github.com/search/repositories?q=http") .build(); OkHttpClient clientForCall; if (i == 2) { // Force this request's response to be written to the cache. This way, subsequent responses // can be read from the cache. System.out.println("Force cache: true"); clientForCall = client.newBuilder() .addNetworkInterceptor(REWRITE_CACHE_CONTROL_INTERCEPTOR) .build(); } else { System.out.println("Force cache: false"); clientForCall = client; } try (Response response = clientForCall.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); System.out.println(" Network: " + (response.networkResponse() != null)); System.out.println(); } } }
.build(); try (Response response = client.newCall(request).execute()) { String responseSource = response.networkResponse() != null ? ("(network: " + response.networkResponse().code() + " over " + response.protocol()
/** * Returns the subset of the headers in {@code response}'s request that impact the content of * response's body. */ public static Headers varyHeaders(Response response) { // Use the request headers sent over the network, since that's what the // response varies on. Otherwise OkHttp-supplied headers like // "Accept-Encoding: gzip" may be lost. Headers requestHeaders = response.networkResponse().request().headers(); Headers responseHeaders = response.headers(); return varyHeaders(requestHeaders, responseHeaders); }
requestBodyLength, okHttpResponse.body().contentLength(), false); } else { if (okHttpResponse.networkResponse() == null) { Utils.sendAnalytics(request.getAnalyticsListener(), timeTaken, 0, 0, true); } else {
okHttpResponse.body().contentLength(), false); } else if (request.getAnalyticsListener() != null) { if (okHttpResponse.networkResponse() == null) { Utils.sendAnalytics(request.getAnalyticsListener(), timeTaken, 0, 0, true); } else {
requestBodyLength, okHttpResponse.body().contentLength(), false); } else { if (okHttpResponse.networkResponse() == null) { Utils.sendAnalytics(request.getAnalyticsListener(), timeTaken, 0, 0, true); } else {
requestBodyLength, okHttpResponse.body().contentLength(), false); } else { if (okHttpResponse.networkResponse() == null) { Utils.sendAnalytics(request.getAnalyticsListener(), timeTaken, 0, 0, true); } else {
okHttpResponse.body().contentLength(), false); } else if (request.getAnalyticsListener() != null) { if (okHttpResponse.networkResponse() == null) { Utils.sendAnalytics(request.getAnalyticsListener(), timeTaken, 0, 0, true); } else {
okHttpResponse.body().contentLength(), false); } else if (request.getAnalyticsListener() != null) { if (okHttpResponse.networkResponse() == null) { Utils.sendAnalytics(request.getAnalyticsListener(), timeTaken, 0, 0, true); } else {
private String authorize() throws IOException { OkHttpClient.Builder builder = client.newBuilder(); builder.interceptors().remove(this); OkHttpClient clone = builder.build(); String credential = Credentials.basic(config.getUsername(), new String(config.getPassword())); URL url = new URL(URLUtils.join(config.getMasterUrl(), AUTHORIZE_PATH)); Response response = clone.newCall(new Request.Builder().get().url(url).header(AUTHORIZATION, credential).build()).execute(); response.body().close(); response = response.priorResponse() != null ? response.priorResponse() : response; response = response.networkResponse() != null ? response.networkResponse() : response; String token = response.header(LOCATION); if (token == null || token.isEmpty()) { throw new IOException("Unexpected response(" + response.code() + " " + response.message() + "), to the authorization request. Missing header:[" + LOCATION + "]!"); } token = token.substring(token.indexOf(BEFORE_TOKEN) + BEFORE_TOKEN.length()); token = token.substring(0, token.indexOf(AFTER_TOKEN)); return token; } }
private static String responseSourceHeader(Response response) { if (response.networkResponse() == null) { if (response.cacheResponse() == null) { return "NONE"; } return "CACHE " + response.code(); } if (response.cacheResponse() == null) { return "NETWORK " + response.code(); } return "CONDITIONAL_CACHE " + response.networkResponse().code(); }
@Override public void onResponse(Call call, Response response) throws IOException { Log.e(TAG, "onResponse: body==" + response.body().string()); Log.e(TAG, "onResponse: netResponse==" + response.networkResponse()); Log.e(TAG, "onResponse: cacheResponse==" + response.cacheResponse()); Log.e(TAG, "onResponse: cacheControl==" + response.cacheControl().toString()); Log.e(TAG, "onResponse: threadName==" + Thread.currentThread().getName()); } });
/** * Returns the subset of the headers in {@code response}'s request that * impact the content of response's body. */ public static Headers varyHeaders(Response response) { // Use the request headers sent over the network, since that's what the // response varies on. Otherwise OkHttp-supplied headers like // "Accept-Encoding: gzip" may be lost. Headers requestHeaders = response.networkResponse().request().headers(); Headers responseHeaders = response.headers(); return varyHeaders(requestHeaders, responseHeaders); }
/** * Returns the subset of the headers in {@code response}'s request that * impact the content of response's body. */ public static Headers varyHeaders(Response response) { // Use the request headers sent over the network, since that's what the // response varies on. Otherwise OkHttp-supplied headers like // "Accept-Encoding: gzip" may be lost. Headers requestHeaders = response.networkResponse().request().headers(); Headers responseHeaders = response.headers(); return varyHeaders(requestHeaders, responseHeaders); }
/** * Returns the subset of the headers in {@code response}'s request that impact the content of * response's body. */ public static Headers varyHeaders(Response response) { // Use the request headers sent over the network, since that's what the // response varies on. Otherwise OkHttp-supplied headers like // "Accept-Encoding: gzip" may be lost. Headers requestHeaders = response.networkResponse().request().headers(); Headers responseHeaders = response.headers(); return varyHeaders(requestHeaders, responseHeaders); }
@Override public void onResponse(Call call, Response response) throws IOException { if (null != response.cacheResponse()) { String str = response.cacheResponse().toString(); Log.d(TAG, "cache---" + str); } else { String str = response.networkResponse().toString(); Log.d(TAG, "network---" + str); } } });
public OkHttpStatusCodeException(String serviceId, Response response, ResponseBody responseBody, URI uri) { super(serviceId, response.code(), response, uri); this.response = new Response.Builder().code(response.code()).message(response.message()).protocol(response.protocol()) .request(response.request()).headers(response.headers()).handshake(response.handshake()) .cacheResponse(response.cacheResponse()).networkResponse(response.networkResponse()) .priorResponse(response.priorResponse()).sentRequestAtMillis(response.sentRequestAtMillis()) .body(responseBody).build(); }