aeruhxi
02/01/2018, 10:21 AMio.ktor.application.call
in my custom function without parametrizing it?cy
02/01/2018, 10:32 AMaeruhxi
02/01/2018, 10:34 AMfun <A>Routing.paginate(call: ApplicationCall, collectionName: String, genericGet: (Int, Int) -> Pair<Int, List<A>>): Map<String, Any> {
val page = call.parameters["page"]?.toInt() ?: 1
val perPage = call.parameters["perPage"]?.toInt() ?: 10
val (nPages, collection) = genericGet(page, perPage)
val jsonMap = mutableMapOf<String, Any>(collectionName to collection)
if (page > 1)
jsonMap["prev"] = "/${collectionName}?page=${page - 1}"
if (nPages > page)
jsonMap["next"] = "/${collectionName}?page=${page + 1}"
return jsonMap
}
I want to implicitly pass call
inside it. Is there any way?everald
02/01/2018, 10:45 AMApplicationCall
instead of the not used Routing
?cy
02/01/2018, 10:45 AMRouting
?cy
02/01/2018, 10:46 AMcy
02/01/2018, 10:46 AMPipelineContext<*, ApplicationCall>
cy
02/01/2018, 10:47 AMcall.
on call-siteaeruhxi
02/01/2018, 10:48 AMcy
02/01/2018, 10:49 AMprivate fun PipelineContext<*, ApplicationCall>.paginate(): Map<String, Any> {
val param1 = call.request.queryParameters["...."]
TODO()
}
private fun Routing.myAppComponent() {
get("/table") {
val myMap = paginate()
// ....
call.respond("....")
}
}