mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2026-03-11 21:02:37 +00:00
generate docs for a lot of API (test try)
This commit is contained in:
@@ -4,6 +4,12 @@ import korlibs.time.DateTime
|
||||
import dev.inmo.micro_utils.ktor.common.FromToDateTime
|
||||
import io.ktor.http.Parameters
|
||||
|
||||
/**
|
||||
* Extracts a [FromToDateTime] range from Ktor server [Parameters].
|
||||
* Looks for "from" and "to" parameters containing Unix millisecond timestamps.
|
||||
*
|
||||
* @return A [FromToDateTime] pair extracted from the parameters
|
||||
*/
|
||||
val Parameters.extractFromToDateTime: FromToDateTime
|
||||
get() = FromToDateTime(
|
||||
get("from") ?.toDoubleOrNull() ?.let { DateTime(it) },
|
||||
|
||||
@@ -4,6 +4,13 @@ import io.ktor.http.HttpStatusCode
|
||||
import io.ktor.server.application.ApplicationCall
|
||||
import io.ktor.server.response.respond
|
||||
|
||||
/**
|
||||
* Retrieves a parameter value by [field] name from the request parameters.
|
||||
* If the parameter is not present, responds with [HttpStatusCode.BadRequest] (400) and an error message.
|
||||
*
|
||||
* @param field The name of the parameter to retrieve
|
||||
* @return The parameter value, or null if not found (after sending error response)
|
||||
*/
|
||||
suspend fun ApplicationCall.getParameterOrSendError(
|
||||
field: String
|
||||
) = parameters[field].also {
|
||||
@@ -12,6 +19,13 @@ suspend fun ApplicationCall.getParameterOrSendError(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all parameter values by [field] name from the request parameters.
|
||||
* If the parameter is not present, responds with [HttpStatusCode.BadRequest] (400) and an error message.
|
||||
*
|
||||
* @param field The name of the parameter to retrieve
|
||||
* @return A list of parameter values, or null if not found (after sending error response)
|
||||
*/
|
||||
suspend fun ApplicationCall.getParametersOrSendError(
|
||||
field: String
|
||||
) = parameters.getAll(field).also {
|
||||
@@ -20,14 +34,33 @@ suspend fun ApplicationCall.getParametersOrSendError(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves a query parameter value by [field] name from the request.
|
||||
*
|
||||
* @param field The name of the query parameter to retrieve
|
||||
* @return The query parameter value, or null if not found
|
||||
*/
|
||||
fun ApplicationCall.getQueryParameter(
|
||||
field: String
|
||||
) = request.queryParameters[field]
|
||||
|
||||
/**
|
||||
* Retrieves all query parameter values by [field] name from the request.
|
||||
*
|
||||
* @param field The name of the query parameter to retrieve
|
||||
* @return A list of query parameter values, or null if not found
|
||||
*/
|
||||
fun ApplicationCall.getQueryParameters(
|
||||
field: String
|
||||
) = request.queryParameters.getAll(field)
|
||||
|
||||
/**
|
||||
* Retrieves a query parameter value by [field] name from the request.
|
||||
* If the parameter is not present, responds with [HttpStatusCode.BadRequest] (400) and an error message.
|
||||
*
|
||||
* @param field The name of the query parameter to retrieve
|
||||
* @return The query parameter value, or null if not found (after sending error response)
|
||||
*/
|
||||
suspend fun ApplicationCall.getQueryParameterOrSendError(
|
||||
field: String
|
||||
) = getQueryParameter(field).also {
|
||||
@@ -36,6 +69,13 @@ suspend fun ApplicationCall.getQueryParameterOrSendError(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all query parameter values by [field] name from the request.
|
||||
* If the parameter is not present, responds with [HttpStatusCode.BadRequest] (400) and an error message.
|
||||
*
|
||||
* @param field The name of the query parameter to retrieve
|
||||
* @return A list of query parameter values, or null if not found (after sending error response)
|
||||
*/
|
||||
suspend fun ApplicationCall.getQueryParametersOrSendError(
|
||||
field: String
|
||||
) = getQueryParameters(field).also {
|
||||
|
||||
@@ -4,6 +4,13 @@ import io.ktor.http.HttpStatusCode
|
||||
import io.ktor.server.application.ApplicationCall
|
||||
import io.ktor.server.response.respond
|
||||
|
||||
/**
|
||||
* Responds with the given [data] if it's not null, or responds with [HttpStatusCode.NoContent] (204) if it's null.
|
||||
* This is useful for API endpoints that may return empty results.
|
||||
*
|
||||
* @param T The type of data to respond with
|
||||
* @param data The data to respond with, or null to respond with No Content
|
||||
*/
|
||||
suspend inline fun <reified T : Any> ApplicationCall.respondOrNoContent(
|
||||
data: T?
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user