An open API service indexing awesome lists of open source software.

https://github.com/http4k/http4k

The Functional toolkit for Kotlin HTTP applications. http4k provides a simple and uniform way to serve, consume, and test HTTP services.
https://github.com/http4k/http4k

http http-client http-server http4k immutability kotlin tdd testability typesafe

Last synced: 18 days ago
JSON representation

The Functional toolkit for Kotlin HTTP applications. http4k provides a simple and uniform way to serve, consume, and test HTTP services.

Awesome Lists containing this project

README

          



http4k logo

build
download

GitHub license
intellij-badge
awesome kotlin
Kotlin Slack
back us!
sponsor us!

[http4k] is a lightweight but fully-featured HTTP toolkit written in pure [Kotlin](https://kotlinlang.org/) that enables the serving and consuming of HTTP
services in a functional and consistent way. [http4k] applications are *just* Kotlin functions. For example, here's a simple echo server:

```kotlin
val app: HttpHandler = { request: Request -> Response(OK).body(request.body) }
val server = app.asServer(SunHttp(8000)).start()
```

You can read about the rationale and ethos of http4k [here](https://http4k.org/rationale)

The [http4k] platform consists of the following main ecosystems, all released under a single version:

- [http4k-core](./core) consists of a lightweight core library providing a base HTTP implementation and Server/Client implementations based on the JDK classes. Further servers, clients, serverless, templating, websockets capabilities are then implemented in add-on modules. [http4k] apps can be simply mounted into a running Server, Serverless platform, or compiled to GraalVM and run as a super-lightweight binary.
- [http4k-connect](./connect) is a lightweight API Client toolkit which includes libraries for connecting to popular third-party cloud
services and AI backends using [http4k](https://http4k.org) compatible APIs, along with Fake implementations for usage during local
testing.

Sounds cool! Where can I find out more?

You can find out all about the project on the [http4k] site.

## Installation
```kotlin
dependencies {
// install the platform...
implementation(platform("org.http4k:http4k-bom:"))

// ...then choose any moduless but at least the core
implementation("org.http4k:http4k-core")
}
```

## Acknowledgments

* [Dan Bodart](https://twitter.com/DanielBodart)'s **utterlyidle**
* Ivan Moore for pairing on the original hackday project - Barely Magical.
* You can see the amazing people and companies who have helped us to make http4k [here](https://http4k.org/community).

[http4k]: https://http4k.org

scarf