From 0f1bd98f497f8ec692c09158604f89f420888b8e Mon Sep 17 00:00:00 2001 From: kageru Date: Sun, 29 Sep 2019 16:20:50 +0200 Subject: [PATCH] Handle HEAD requests --- .../kotlin/moe/kageru/kodeshare/Routes.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/kotlin/moe/kageru/kodeshare/Routes.kt b/src/main/kotlin/moe/kageru/kodeshare/Routes.kt index af4399a..072366f 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/Routes.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/Routes.kt @@ -11,11 +11,13 @@ import io.ktor.http.content.streamProvider import io.ktor.locations.KtorExperimentalLocationsAPI import io.ktor.locations.Location import io.ktor.locations.get +import io.ktor.locations.head import io.ktor.request.receiveMultipart import io.ktor.response.respond import io.ktor.response.respondText import io.ktor.routing.Routing import io.ktor.routing.get +import io.ktor.routing.head import io.ktor.routing.post import moe.kageru.kodeshare.config.ServerSpec import moe.kageru.kodeshare.config.config @@ -54,6 +56,26 @@ object Routes { get { req -> call.handleGet(req) } + head("/") { + call.respond(HttpStatusCode.OK) + } + head { req -> + call.handleHead(req) + } + head { req -> + call.handleHead(req) + } + head { req -> + call.handleHead(req) + } + } + + private suspend fun ApplicationCall.handleHead(paste: AbstractPasteRequest) { + if (PasteDao.selectByUri(paste.uri) != null) { + respond(HttpStatusCode.OK) + } else { + respond(HttpStatusCode.NotFound) + } } @ExperimentalStdlibApi