ktor-locations / io.ktor.locations / Locations

Locations

open class Locations

Ktor feature that allows to handle and construct routes in a typed way.

You have to create data classes/objects representing parameterized routes and annotate them with Location. Then you can register sub-routes and handlers for those locations and create links to them using Locations.href.

Types

Configuration

class Configuration

Configuration for Locations.

Feature

companion object Feature : ApplicationFeature<Application, Configuration, Locations>

Installable feature for Locations.

Constructors

<init>

Locations(application: Application)

Creates Locations service extracting path information from @Location annotation

Locations(application: Application, routeService: LocationRouteService)

Ktor feature that allows to handle and construct routes in a typed way.

Properties

registeredLocations

val registeredLocations: List<LocationInfo>

All locations registered at the moment (Immutable list).

Functions

createEntry

fun createEntry(parent: Route, locationClass: KClass<*>): Route

Creates all necessary routing entries to match specified locationClass.

href

fun href(location: Any): String

Constructs the url for location.

resolve

fun <T : Any> resolve(locationClass: KClass<*>, call: ApplicationCall): T

Resolves parameters in a call to an instance of specified locationClass.

fun <T : Any> resolve(locationClass: KClass<*>, parameters: Parameters): T

Resolves parameters to an instance of specified locationClass.

fun <T : Any> resolve(parameters: Parameters): T

Resolves parameters to an instance of specified T.

fun <T : Any> resolve(call: ApplicationCall): T

Resolves parameters in a call to an instance of specified T.

Companion Object Properties

key

val key: AttributeKey<Locations>

Companion Object Functions

install

fun install(pipeline: Application, configure: Configuration.() -> Unit): Locations