@@ -21,9 +21,11 @@ import io.ktor.server.request.*
2121import io.ktor.server.resources.*
2222import io.ktor.server.response.*
2323import io.ktor.server.routing.*
24+ import io.ktor.server.servlet.jakarta.*
2425import io.ktor.server.sessions.*
2526import io.ktor.server.sse.*
2627import io.ktor.server.websocket.*
28+ import javax.net.ssl.SSLSession
2729import kotlin.concurrent.atomics.AtomicLong
2830import kotlin.time.Duration
2931import kotlin.time.Duration.Companion.seconds
@@ -126,7 +128,15 @@ fun Application.configureHTTP() {
126128 mdc(" remoteHost" ) { call -> call.request.origin.remoteHost }
127129 // callIdMdc(TRACE_ID)
128130
129- // Enable logging for API routes only
131+ // format { call ->
132+ // val status = call.response.status() ?: OK
133+ // val method = call.request.httpMethod.value
134+ // val path = call.request.path()
135+ // val took = call.processingTimeMillis()
136+ // val remote = call.request.origin.remoteHost
137+ // "[$remote] $status: $method $path (${took}ms)"
138+ // }
139+
130140 filter { it.isApi }
131141 }
132142
@@ -141,9 +151,9 @@ fun Application.configureHTTP() {
141151}
142152
143153fun Application.configureInterceptors () {
144- intercept(ApplicationCallPipeline .Plugins ) {
145- println (" Request: ${call.request.uri} " )
146- if (call.request.headers[" Custom-Header " ] == " Test" ) {
154+ intercept(ApplicationCallPipeline .Call ) {
155+ println (" [ ${call.request.origin.remoteHost} ] --> ${call.request.uri} " )
156+ if (call.request.headers[" X-Custom " ] == " Test" ) {
147157 call.respond(HttpStatusCode .Forbidden )
148158 finish()
149159 }
@@ -153,12 +163,15 @@ fun Application.configureInterceptors() {
153163val ApplicationCall .debug
154164 get() = request.queryParameters.contains(" debug" )
155165
166+ val ApplicationCall .sslSession
167+ get() = request.servletRequestAttributes[" jakarta.servlet.request.ssl_session" ] as ? SSLSession
168+
156169val ApplicationCall .isApi
157170 get() = run {
158171 val path = request.path()
159172 when {
160173 path.contains(" /swagger" ) -> false
161- path.startsWith(" /api/ " ) -> true
174+ path.startsWith(" /" ) -> true
162175 else -> false
163176 }
164177 }
0 commit comments