Alexander Weickmann
02/07/2023, 1:52 PMcreateClientPlugin("SensibleClientLogging", ::SensibleClientLoggingConfig) {
val config = pluginConfig
if (config.requestConfig.logBody) {
transformRequestBody { request, content, type ->
request.attributes.put(traceIdKey, UUID.randomUUID().toString())
if (type?.type == String::class) {
val jsonBody = content as String
logRequest(config, request, jsonBody)
null
} else {
logRequest(config, request)
null
}
}
} else {
onRequest { request, _ ->
request.attributes.put(traceIdKey, UUID.randomUUID().toString())
logRequest(config, request)
}
}
if (config.responseConfig.logBodyOnError) {
transformResponseBody { response, content, type ->
if (type.type == String::class) {
val body = content.readUTF8Line()
logResponse(config, response, body.takeIf { !response.status.isSuccess() })
body
} else {
content
}
}
} else {
onResponse { response ->
logResponse(config, response)
}
}
}
CLOVIS
02/07/2023, 4:17 PMAlexander Weickmann
02/07/2023, 5:26 PMAlexander Weickmann
02/07/2023, 5:32 PMAleksei Tirman [JB]
02/08/2023, 7:49 AMonRequest
and onResponse
?Alexander Weickmann
02/08/2023, 12:48 PMAlexander Weickmann
02/08/2023, 6:01 PM