All Types

io.ktor.features.AcceptHeaderContributor

Functional type for accepted content types contributor

io.ktor.routing.AndRouteSelector

Evaluates a route as a result of the AND operation using two other selectors

io.ktor.application.Application

Represents configured and running web application, capable of handling requests. It is also the application coroutine scope that is cancelled immediately at application stop so useful for launching background coroutines.

io.ktor.application.ApplicationCall

Represents a single act of communication between client and server.

io.ktor.application.ApplicationCallPipeline

Pipeline configuration for executing ApplicationCall instances

io.ktor.config.ApplicationConfig

Represents an application config node

io.ktor.config.ApplicationConfigValue

Represents an application config value

io.ktor.config.ApplicationConfigurationException

Thrown when an application is misconfigured

io.ktor.application.ApplicationEnvironment

Represents an environment in which Application runs

io.ktor.application.ApplicationEvents

Provides events for Application lifecycle

io.ktor.application.ApplicationFeature

Defines an installable Application Feature

io.ktor.request.ApplicationReceivePipeline

Pipeline for processing incoming content

io.ktor.request.ApplicationReceiveRequest

Represents a subject for ApplicationReceivePipeline

io.ktor.request.ApplicationRequest

Represents client's request

io.ktor.response.ApplicationResponse

Represents server's response

io.ktor.response.ApplicationSendPipeline

Server response send pipeline

io.ktor.features.AutoHeadResponse

A feature that automatically respond to HEAD requests

io.ktor.features.BadRequestException

Base exception to indicate that the request is not correct due to wrong/missing request parameters, body content or header values. Throwing this exception in a handler will lead to 400 Bad Request response unless a custom io.ktor.features.StatusPages handler registered.

io.ktor.features.CORS

CORS feature. Please read http://ktor.io/servers/features/cors.html first before using it.

io.ktor.features.CachedTransformationResult

Represents a cached transformation result from a previous ApplicationCall.receive invocation.

io.ktor.features.CachingHeaders

Feature that set CachingOptions headers for every response. It invokes optionsProviders for every response and use first non null caching options

io.ktor.features.CallId

Retrieves and generates if necessary a call id. A call id (or correlation id) could be retrieved_ from a call via CallId.Configuration.retrieve function. Multiple retrieve functions could be configured that will be invoked one by one until one of them return non-null value. If no value has been provided by retrievers then a generator could be applied to generate a new call id. Generators could be provided via CallId.Configuration.generate function. Similar to retrieve, multiple generators could be configured so they will be invoked one by one. Usually call id is passed via io.ktor.http.HttpHeaders.XRequestId so one could use CallId.Configuration.retrieveFromHeader function to retrieve call id from a header.

io.ktor.features.CallIdProvider

A function that retrieves or generates call id using provided call

io.ktor.features.CallIdVerifier

A function that verifies retrieved or generated call id. Should return true for a valid call id. Also it could throw a RejectedCallIdException to reject an ApplicationCall otherwise an illegal call id will be ignored or replaced with generated one.

io.ktor.features.CallLogging

Logs application lifecycle and call events.

io.ktor.http.content.CompressedFileType

Supported pre compressed file types and associated extensions

io.ktor.features.Compression

Feature to compress a response based on conditions and ability of client to decompress it

io.ktor.features.CompressionEncoder

Represents a Compression encoder

io.ktor.features.CompressionEncoderBuilder

Builder for compression encoder configuration

io.ktor.features.CompressionEncoderConfig

Configuration for an encoder

io.ktor.features.CompressionOptions

Compression feature configuration

io.ktor.features.ConditionalHeaders

Feature to check modified/match conditional headers and avoid sending contents if it was not changed

io.ktor.features.ConditionsHolderBuilder

Represents a builder for conditions

com.typesafe.config.Config (extensions in package io.ktor.config)
io.ktor.routing.ConstantParameterRouteSelector

Evaluates a route against a constant query parameter value

io.ktor.features.ContentConverter

A custom content converted that could be registered in ContentNegotiation feature for any particular content type Could provide bi-directional conversion implementation. One of the most typical examples of content converter is a json content converter that provides both serialization and deserialization

io.ktor.features.ContentNegotiation

This feature provides automatic content conversion according to Content-Type and Accept headers

io.ktor.features.ContentTransformationException

Thrown when content cannot be transformed to the desired type. It is not defined which status code will be replied when an exception of this type is thrown and not caught. Depending on child type it could be 4xx or 5xx status code. By default it will be 500 Internal Server Error.

io.ktor.request.ContentTransformationException

Thrown when content cannot be transformed to the desired type.

io.ktor.features.ContentTypeWithQuality

Pair of ContentType and quality usually parsed from HttpHeaders.Accept headers.

io.ktor.util.ConversionService

Data conversion service that does serialization and deserialization to/from list of strings

io.ktor.sessions.CookieConfiguration

Cookie configuration being used to send sessions

io.ktor.sessions.CookieIdSessionBuilder

Cookie session configuration builder

io.ktor.sessions.CookieSessionBuilder

Cookie session configuration builder

io.ktor.util.CopyOnWriteHashMap

This is an internal implementation for copy-on-write concurrent map. It is very limited since it is not intended as general purpose implementation.

kotlinx.coroutines.CoroutineScope (extensions in package io.ktor.features)
io.ktor.sessions.CurrentSession

Represents a container for all session instances

io.ktor.features.DataConversion

Data conversion feature to serialize and deserialize types using converters registry

io.ktor.util.DataConversionException

Thrown when failed to convert value

java.util.Date (extensions in package io.ktor.util)
io.ktor.util.DefaultConversionService

The default conversion service that supports only basic types and enums

io.ktor.features.DefaultHeaders

Adds standard HTTP headers Date and Server and provides ability to specify other headers that are included in responses.

io.ktor.response.DefaultResponsePushBuilder

HTTP/2 push builder

io.ktor.features.DeflateEncoder

Implementation of the deflate encoder

io.ktor.features.DelegatingConversionService

Custom convertor builder

io.ktor.util.DispatcherWithShutdown

Specialized dispatcher useful for graceful shutdown

io.ktor.features.DoubleReceive

This feature provides ability to invoke ApplicationCall.receive several times. Please note that not every type could be received twice. For example, even with this feature installed you can't receive a channel twice (unless Configuration.receiveEntireContent is enabled). Types that always can be received twice or more: ByteArray, String and Parameters. Also some of content transformation features (such as ContentNegotiation) could support it as well. If not specified, a transformation result is not considered as reusable. So a transformation feature may mark a result as reusable by proceeding with a ApplicationReceiveRequest instance having ApplicationReceiveRequest.reusableValue = true. So installing DoubleReceive with ContentNegotiation provides ability to receive a user type that will be deserialized at first receive and then the same instance will be returned for every further receive invocation. When the same receive type requested as the firstly received, the receive pipeline and content transformation are not triggered (except when Configuration.receiveEntireContent = true).

io.ktor.application.DuplicateApplicationFeatureException

Thrown when Application Feature has been attempted to be installed with the same key as already installed Feature

io.ktor.application.EventDefinition

Definition of an event. Event is used as a key so both hashCode and equals need to be implemented properly. Inheriting of this class is an experimental feature. Instantiate directly if inheritance not necessary.

io.ktor.application.EventHandler

Specifies signature for the event handler

io.ktor.features.ForwardedHeaderSupport

Forwarded header support. See RFC 7239 https://tools.ietf.org/html/rfc7239

io.ktor.features.GzipEncoder

Implementation of the gzip encoder

io.ktor.features.HSTS

HSTS feature that appends Strict-Transport-Security HTTP header to every response. See http://ktor.io/servers/features/hsts.html for details See RFC 6797 https://tools.ietf.org/html/rfc6797

io.ktor.sessions.HeaderIdSessionBuilder

Header session configuration builder

io.ktor.sessions.HeaderSessionBuilder

Header session configuration builder

io.ktor.config.HoconApplicationConfig

Implements ApplicationConfig by loading configuration from HOCON data structures

io.ktor.routing.HostRouteSelector

Evaluates a route against a request's host and port

io.ktor.routing.HttpAcceptRouteSelector

Evaluates a route against a content-type in the HttpHeaders.Accept header in the request

io.ktor.routing.HttpHeaderRouteSelector

Evaluates a route against a header in the request

io.ktor.routing.HttpMethodRouteSelector

Evaluates a route against an HttpMethod

io.ktor.http.content.HttpStatusCodeContent

Represents a simple status code response with no content

io.ktor.features.HttpsRedirect

Redirect non-secure requests to HTTPS

io.ktor.features.IdentityEncoder

Implementation of the identity encoder

io.ktor.routing.IgnoreTrailingSlash

Feature that ignores trailing slashes while resolving urls

java.time.Instant (extensions in package io.ktor.util.date)
io.ktor.http.content.JarFileContent

Represents an OutgoingContent for a resource inside a Jar file

kotlin.collections.List (extensions in package io.ktor.features)
kotlin.collections.List (extensions in package io.ktor.sessions)
kotlin.collections.List (extensions in package io.ktor.util)
io.ktor.http.content.LocalFileContent

OutgoingContent representing a local file with a specified contentType, expires date and caching

io.ktor.routing.LocalPortRouteSelector

Evaluate a route against the port on which the call was received.

kotlin.Long (extensions in package io.ktor.http)
io.ktor.config.MapApplicationConfig

Mutable application config backed by a hash map

io.ktor.application.MissingApplicationFeatureException

Thrown when Application Feature has been attempted to be accessed but has not been installed before

io.ktor.features.MissingRequestParameterException

This exception is thrown when a required parameter with name parameterName is missing

io.ktor.features.MutableOriginConnectionPoint

Represents a RequestConnectionPoint. Every it's component is mutable so application features could provide them

io.ktor.features.NotFoundException

This exception means that the requested resource is not found. HTTP status 404 Not found will be replied when this exception is thrown and not caught. 404 status page could be configured by registering a custom io.ktor.features.StatusPages handler.

io.ktor.routing.OptionalParameterRouteSelector

Evaluates a route against an optional query parameter value and captures its value, if found

io.ktor.routing.OrRouteSelector

Evaluates a route as a result of the OR operation using two other selectors

io.ktor.features.ParameterConversionException

This exception is thrown when a required parameter with name parameterName couldn't be converted to the type

io.ktor.routing.ParameterRouteSelector

Evaluates a route against a query parameter value and captures its value

io.ktor.features.PartialContent

Feature to support requests to specific content ranges.

io.ktor.routing.PathSegmentConstantRouteSelector

Evaluates a route against a constant path segment

io.ktor.routing.PathSegmentOptionalParameterRouteSelector

Evaluates a route against an optional parameter path segment and captures its value, if any

io.ktor.routing.PathSegmentParameterRouteSelector

Evaluates a route against a parameter path segment and captures its value

io.ktor.routing.PathSegmentSelectorBuilder

Helper object for building instances of RouteSelector from path segments

io.ktor.routing.PathSegmentTailcardRouteSelector

Evaluates a route against any number of trailing path segments, and captures their values

io.ktor.routing.PathSegmentWildcardRouteSelector

Evaluates a route against any single path segment

io.ktor.util.pipeline.PipelineContext (extensions in package io.ktor.application)
io.ktor.util.pipeline.PipelineContext (extensions in package io.ktor.http.content)
io.ktor.features.RejectedCallIdException

An exception that could be thrown to reject a call due to illegal call id

io.ktor.request.RequestAlreadyConsumedException

Thrown when a request body has already been received. Usually it is caused by double ApplicationCall.receive invocation.

io.ktor.request.RequestCookies

Server request's cookies

io.ktor.features.RequestReceiveAlreadyFailedException

Thrown when a request receive was failed during the previous ApplicationCall.receive invocation so this receive attempt is simply replaying the previous exception cause.

io.ktor.response.ResponseCookies

Server's response cookies

io.ktor.response.ResponseHeaders

Server's response headers

io.ktor.response.ResponsePushBuilder

HTTP/2 push builder interface

io.ktor.routing.RootRouteSelector

The selector for routing root.

io.ktor.routing.Route

Describes a node in a routing tree.

io.ktor.routing.RouteSelector

Base type for all routing selectors

io.ktor.routing.RouteSelectorEvaluation

Represents a result of a route evaluation against a call

io.ktor.routing.Routing

Root routing node for an Application

io.ktor.routing.RoutingApplicationCall

Represents an application call being handled by Routing

io.ktor.routing.RoutingApplicationRequest

Represents an application request being handled by Routing

io.ktor.routing.RoutingApplicationResponse

Represents an application response being handled by Routing

io.ktor.routing.RoutingPath

Represents a parsed routing path. Consist of number of segments parts

io.ktor.routing.RoutingPathSegment

Represent a single routing path segment

io.ktor.routing.RoutingPathSegmentKind

Possible routing path segment kinds

io.ktor.routing.RoutingResolveContext

Represents a context in which routing resolution is being performed

io.ktor.routing.RoutingResolveResult

Represents a result of routing resolution.

io.ktor.routing.RoutingResolveTrace

Represents the trace of routing resolution process for diagnostics.

io.ktor.routing.RoutingResolveTraceEntry

Represents a single entry in the RoutingResolveTrace.

io.ktor.sessions.SessionNotYetConfiguredException

This exception is thrown when a session is asked too early before the Sessions feature had chance to configure it. For example, in a phase before ApplicationCallPipeline.Features or in a feature installed before Sessions into the same phase.

io.ktor.sessions.SessionProvider

Specifies a provider for a session with the specific name and type

io.ktor.sessions.SessionSerializer

Serializes session from and to String

io.ktor.sessions.SessionSerializerReflection

Default reflection-based session serializer that does it via reflection. Serialized format is textual and optimized for size as it is could be transferred via HTTP headers or cookies

io.ktor.sessions.SessionStorage

Represents a way to write, read and invalidate session bits.

io.ktor.sessions.SessionStorageMemory

SessionStorage that stores session contents into memory.

io.ktor.sessions.SessionTracker

SessionTracker provides ability to track and extract session from the call context.

io.ktor.sessions.SessionTrackerById

SessionTracker that transfers a Session Id generated by a sessionIdProvider in HTTP Headers/Cookies. It uses a storage and a serializer to store/load serialized/deserialized session content of a specific type.

io.ktor.sessions.SessionTrackerByValue

SessionTracker that stores the contents of the session as part of HTTP Cookies/Headers. It uses a specific serializer to serialize and deserialize objects of type type.

io.ktor.sessions.SessionTransport

SessionTransport receive, send or clear a session from/to an ApplicationCall.

io.ktor.sessions.SessionTransportCookie

SessionTransport that adds a Set-Cookie header and reads Cookie header for the specified cookie name, and a specific cookie configuration after applying/un-applying the specified transforms defined by transformers.

io.ktor.sessions.SessionTransportHeader

SessionTransport that sets or gets the specific header name, applying/un-applying the specified transforms defined by transformers.

io.ktor.sessions.SessionTransportTransformer

Represents a session cookie transformation. Useful for such things like signing and encryption

io.ktor.sessions.SessionTransportTransformerDigest

Session transformer that appends an algorithm hash of the input. Where the input is either a session contents or a previous transformation. It prepends a salt when computing the hash.

io.ktor.sessions.SessionTransportTransformerEncrypt

Session transformer that encrypts/decrypts the input.

io.ktor.sessions.SessionTransportTransformerMessageAuthentication

Session transformer that appends an algorithm MAC (Message Authentication Code) hash of the input. Where the input is either a session contents or a previous transformation. It uses a specified keySpec when generating the Mac hash.

io.ktor.sessions.Sessions

Sessions feature that provides a mechanism to persist information between requests.

io.ktor.features.StatusPages

Status pages feature that handles exceptions and status codes. Useful to configure default error pages.

kotlin.String (extensions in package io.ktor.http)
java.time.temporal.Temporal (extensions in package io.ktor.http)
io.ktor.sessions.TooLateSessionSetException

This exception is thrown when HTTP response has already been sent but an attempt to modify session is made

io.ktor.features.UnsupportedMediaTypeException

Thrown when there is no conversion for a content type configured. HTTP status 415 Unsupported Media Type will be replied when this exception is thrown and not caught.

io.ktor.response.UseHttp2Push

HTTP/2 push is no longer supported by Chrome web browser. Other browsers may discard it at some point. With such browsers, HTTP/2 push will be disabled, therefore using this feature is safe but it will have no effect. On the other hand, this feature is not deprecated and generally it is still allowed to use it, so feel free to opt-in this annotation to eliminate this warning, if you are sure that you need it. For example, it makes sense to use with a non-browser client that for sure supports HTTP/2 push.

io.ktor.features.XForwardedHeaderSupport

X-Forwarded-* headers support See http://ktor.io/servers/features/forward-headers.html for details

java.time.ZonedDateTime (extensions in package io.ktor.util.date)