Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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: 5 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
codebeat
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