From 0433d1f58637b6382c823c35abd149cd4d5474ca Mon Sep 17 00:00:00 2001 From: chaeda Date: Fri, 29 Mar 2024 23:23:08 +0900 Subject: [PATCH] =?UTF-8?q?cafe-09-end=20=EC=85=8B=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/com/example/Application.kt | 2 ++ .../com/example/config/ErrorHandling.kt | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/main/kotlin/com/example/config/ErrorHandling.kt diff --git a/src/main/kotlin/com/example/Application.kt b/src/main/kotlin/com/example/Application.kt index 5b84164..f544811 100644 --- a/src/main/kotlin/com/example/Application.kt +++ b/src/main/kotlin/com/example/Application.kt @@ -2,6 +2,7 @@ package com.example import com.example.config.configureDatabase import com.example.config.configureDependencyInjection +import com.example.config.configureErrorHandling import com.example.config.configureHttp import com.example.config.configureLogging import com.example.config.configureRouting @@ -22,5 +23,6 @@ fun Application.module() { configureSecurity() configureSerialization() configureRouting() + configureErrorHandling() configureLogging() } diff --git a/src/main/kotlin/com/example/config/ErrorHandling.kt b/src/main/kotlin/com/example/config/ErrorHandling.kt new file mode 100644 index 0000000..ac6c1f7 --- /dev/null +++ b/src/main/kotlin/com/example/config/ErrorHandling.kt @@ -0,0 +1,22 @@ +package com.example.config + +import com.example.shared.CafeException +import io.ktor.http.* +import io.ktor.server.application.* +import io.ktor.server.plugins.statuspages.* +import io.ktor.server.response.* + + +fun Application.configureErrorHandling() { + install(StatusPages) { + exception { call, cause -> + call.respond(cause.errorCode.httpStatusCode, cause.message ?: "Bad Request") + } + exception { call, cause -> + call.respondText( + status = HttpStatusCode.InternalServerError, + text = "500: $cause" + ) + } + } +} \ No newline at end of file