46 lines
1.2 KiB
Kotlin
46 lines
1.2 KiB
Kotlin
package dev.inmo.micro_utils.ktor.server
|
|
|
|
import io.ktor.http.HttpStatusCode
|
|
import io.ktor.server.application.ApplicationCall
|
|
import io.ktor.server.response.respond
|
|
|
|
suspend fun ApplicationCall.getParameterOrSendError(
|
|
field: String
|
|
) = parameters[field].also {
|
|
if (it == null) {
|
|
respond(HttpStatusCode.BadRequest, "Request must contains $field")
|
|
}
|
|
}
|
|
|
|
suspend fun ApplicationCall.getParametersOrSendError(
|
|
field: String
|
|
) = parameters.getAll(field).also {
|
|
if (it == null) {
|
|
respond(HttpStatusCode.BadRequest, "Request must contains $field")
|
|
}
|
|
}
|
|
|
|
fun ApplicationCall.getQueryParameter(
|
|
field: String
|
|
) = request.queryParameters[field]
|
|
|
|
fun ApplicationCall.getQueryParameters(
|
|
field: String
|
|
) = request.queryParameters.getAll(field)
|
|
|
|
suspend fun ApplicationCall.getQueryParameterOrSendError(
|
|
field: String
|
|
) = getQueryParameter(field).also {
|
|
if (it == null) {
|
|
respond(HttpStatusCode.BadRequest, "Request query parameters must contains $field")
|
|
}
|
|
}
|
|
|
|
suspend fun ApplicationCall.getQueryParametersOrSendError(
|
|
field: String
|
|
) = getQueryParameters(field).also {
|
|
if (it == null) {
|
|
respond(HttpStatusCode.BadRequest, "Request query parameters must contains $field")
|
|
}
|
|
}
|