1
0
mirror of https://github.com/square/okhttp.git synced 2025-08-06 01:35:50 +03:00

Add Cache events to LoggingEventListener (#6020)

This commit is contained in:
Yuri Schimke
2020-05-07 06:54:17 +01:00
committed by GitHub
parent a252a93df5
commit f631abab4d
2 changed files with 40 additions and 0 deletions

View File

@@ -155,6 +155,22 @@ class LoggingEventListener private constructor(
logWithTime("canceled")
}
override fun satisfactionFailure(call: Call, response: Response) {
logWithTime("satisfactionFailure: $response")
}
override fun cacheHit(call: Call, response: Response) {
logWithTime("cacheHit: $response")
}
override fun cacheMiss(call: Call) {
logWithTime("cacheMiss")
}
override fun cacheConditionalHit(call: Call, cachedResponse: Response) {
logWithTime("cacheConditionalHit: $cachedResponse")
}
private fun logWithTime(message: String) {
val timeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNs)
logger.log("[$timeMs ms] $message")

View File

@@ -17,9 +17,12 @@ package okhttp3.logging;
import java.io.IOException;
import java.net.UnknownHostException;
import okhttp3.Call;
import okhttp3.EventListener;
import okhttp3.HttpUrl;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Protocol;
import okhttp3.TestUtil;
import okhttp3.testing.PlatformRule;
import okhttp3.Request;
@@ -240,6 +243,27 @@ public final class LoggingEventListenerTest {
.assertNoMoreLogs();
}
@Test
public void testCacheEvents() {
Request request = new Request.Builder().url(url).build();
Call call = client.newCall(request);
Response response = new Response.Builder().request(request).code(200).message("").protocol(HTTP_2).build();
EventListener listener = loggingEventListenerFactory.create(call);
listener.cacheConditionalHit(call, response);
listener.cacheHit(call, response);
listener.cacheMiss(call);
listener.satisfactionFailure(call, response);
logRecorder
.assertLogMatch("cacheConditionalHit: Response\\{protocol=h2, code=200, message=, url=" + url + "}")
.assertLogMatch("cacheHit: Response\\{protocol=h2, code=200, message=, url=" + url + "}")
.assertLogMatch("cacheMiss")
.assertLogMatch("satisfactionFailure: Response\\{protocol=h2, code=200, message=, url=" + url + "}")
.assertNoMoreLogs();
}
private Request.Builder request() {
return new Request.Builder().url(url);
}