in runtime/src/commonMain/kotlin/space/jetbrains/api/runtime/epoch/EpochTrackingPlugin.kt [18:31]
override fun install(plugin: EpochTrackingPlugin, scope: HttpClient) {
scope.requestPipeline.intercept(HttpRequestPipeline.Before) {
val host = context.url.host
EpochTracker.getEpoch(host)?.let { epoch ->
context.header(EPOCH_HEADER_NAME, epoch)
}
}
scope.receivePipeline.intercept(HttpReceivePipeline.After) { response ->
response.headers[EPOCH_HEADER_NAME]?.let { newEpochFromSpace ->
EpochTracker.updateEpoch(response.call.request.url.host, newEpochFromSpace)
}
}
}