List of Artifacts
Ktor is divided into modules to allow fine-grained inclusion of dependencies based on the functionality required. The typical Ktor application would require ktor-server-core
and a corresponding engine depending on whether it’s self-hosted or using an Application Server.
All artifacts in Ktor belong to io.ktor
group and hosted on JCenter and Maven Central. Pre-release versions are published at Bintray
Ktor is split into several groups of modules:
ktor-server
contains modules that support running the Ktor Application with different engines: Netty, Jetty, Tomcat, and a generic servlet. It also contains a TestEngine for setting up application tests without starting the real serverktor-server-core
is a core package where most of the application API and implementation is locatedktor-server-jetty
supports a deployed or embedded Jetty instancektor-server-netty
supports Netty in embedded modektor-server-tomcat
supports Tomcat serversktor-server-servlet
is used by Jetty and Tomcat and allows running in a generic servlet containerktor-server-test-host
allows running application tests faster without starting the full host
ktor-features
groups modules for features that are optional and may not be required by every applicationktor-auth
provides support for different authentication systems like Basic, Digest, Forms, OAuth 1a and 2ktor-auth-jwt
adds the ability to authenticate against JWTktor-auth-ldap
adds the ability to authenticate against LDAP instancektor-freemarker
integrates Ktor with Freemarker templatesktor-velocity
integrates Ktor with Velocity templatesktor-gson
integrates with Gson adding JSON content negotiationktor-jackson
integrates with Jackson adding JSON content negotiationktor-html-builder
integrates Ktor with kotlinx.html buildersktor-locations
contains experimental support for typed locationsktor-metrics
adds the ability to add some metrics to the serverktor-server-sessions
adds the ability to use stateful sessions stored on a serverktor-websockets
provides support for Websockets
ktor-client
contains modules for performing http requestsktor-client-core
is a core package where most of the http HttpClient API is locatedktor-client-apache
adds support for the Apache asynchronous HttpClientktor-client-cio
adds support for a pure Kotlin Corutine based I/O asynchronous HttpClientktor-client-jetty
adds support for Jetty HTTP clientktor-client-okhttp
adds support for OkHttp client backend.ktor-client-auth-basic
adds support for authenticationktor-client-json
adds support for json content negotiation
ktor-network
includes raw sockets for client/server, and TCP/UDPktor-network-tls
contains TLS support for raw sockets
See instructions for setting up a project with