About this project

Ktor is an asynchronous framework for creating microservices, web applications, and more, written entirely in Kotlin. It emphasizes minimal effort and flexibility, allowing developers to build connected applications without imposing strict technology constraints. **Key Features:** - **Unopinionated:** Ktor does not dictate choices for logging, templating, messaging, persistence, serialization, or dependency injection. Features are installed via a unified interception mechanism, enabling arbitrary pipelines. - **Asynchronous:** Built on Kotlin coroutines, Ktor provides an easy-to-use asynchronous programming model. All host implementations use asynchronous I/O to avoid thread blocking. - **Testable:** Applications can run in a special test environment that emulates a web server without networking, simplifying testing. Integration tests with real embedded servers are also supported. - **Hosting Flexibility:** Supports standalone hosting with Netty or Jetty, as well as servlet containers with Servlet 3.0+ API (e.g., Tomcat). Additional hosts can be added via a unified hosting API. - **Kotlin DSL:** APIs are primarily function calls with lambdas, making code declarative and composable. **Getting Started:** Add the dependency `io.ktor:ktor-server-netty` to your Gradle or Maven project, then create an `Application` with routing and features. The Ktor Gradle Plugin simplifies configuration, running, and deployment. A basic example starts an embedded server on port 8080 responding with "Hello, world!". **Documentation & Support:** Visit [ktor.io](https://ktor.io) for quick starts and detailed guides. Issues and feature requests are tracked on JetBrains YouTrack, with community support on StackOverflow and the Kotlin Slack Ktor channel. Security vulnerabilities should be reported via JetBrains' responsible disclosure process. **Project Status:** Ktor is an official JetBrains product, primarily developed by JetBrains with community contributions. It is inspired by deprecated Kotlin frameworks Wasabi and Kara. The project is licensed under Apache License 2.0.