ShreemanArjun
08/06/2024, 10:11 PMclass ResponseTimeHeader {
companion object Plugin : BaseApplicationPlugin<ApplicationCallPipeline, Configuration, ResponseTimeHeader> {
override val key = AttributeKey<ResponseTimeHeader>("ResponseTimeHeader")
override fun install(
pipeline: ApplicationCallPipeline,
configure: Configuration.() -> Unit,
): ResponseTimeHeader {
val plugin = ResponseTimeHeader()
var time: Duration? = Duration.ZERO
pipeline.intercept(ApplicationCallPipeline.Monitoring) {
time = measureTime { proceed() }
}
pipeline.sendPipeline.intercept(ApplicationSendPipeline.After) {
call.response.header("X-Response-Time", "${time?.inWholeMilliseconds} ms")
}
return plugin
}
}
}
Sometime this one responds header with 0 ms which i think wrong. Please helpChris Lee
08/06/2024, 10:19 PMAleksei Tirman [JB]
08/07/2024, 7:58 AM