1
0
mirror of https://github.com/square/okhttp.git synced 2025-11-26 06:43:09 +03:00

Add a canceled event to EventListener

This commit is contained in:
Jesse Wilson
2020-02-16 18:20:49 -05:00
parent 4bb66bcf5e
commit 08e23fcd02
10 changed files with 87 additions and 1 deletions

View File

@@ -134,6 +134,11 @@ sealed class CallEvent {
val ioe: IOException
) : CallEvent()
data class Canceled(
override val timestampNs: Long,
override val call: Call
) : CallEvent()
data class RequestHeadersStart(
override val timestampNs: Long,
override val call: Call

View File

@@ -184,6 +184,12 @@ class ClientRuleEventListener(val delegate: EventListener = NONE, var logger: (S
delegate.callFailed(call, ioe)
}
override fun canceled(call: Call) {
logWithTime("canceled")
delegate.canceled(call)
}
private fun logWithTime(message: String) {
val timeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNs)
logger.invoke("[$timeMs ms] $message")

View File

@@ -25,6 +25,7 @@ import java.util.concurrent.TimeUnit
import okhttp3.CallEvent.CallEnd
import okhttp3.CallEvent.CallFailed
import okhttp3.CallEvent.CallStart
import okhttp3.CallEvent.Canceled
import okhttp3.CallEvent.ConnectEnd
import okhttp3.CallEvent.ConnectFailed
import okhttp3.CallEvent.ConnectStart
@@ -249,4 +250,8 @@ open class RecordingEventListener : EventListener() {
call: Call,
ioe: IOException
) = logEvent(CallFailed(System.nanoTime(), call, ioe))
override fun canceled(
call: Call
) = logEvent(Canceled(System.nanoTime(), call))
}