org.http4k.enterprise:http4k-example

Test module


Keywords
http, http-client, http-server, http4k, immutability, kotlin, tdd, testability, typesafe
License
NTP

Documentation


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

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

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

  • http4k-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 is a lightweight API Client toolkit which includes libraries for connecting to popular third-party cloud services and AI backends using http4k 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

dependencies {
    // install the platform...
    implementation(platform("org.http4k:http4k-bom:<LATEST_VERSION>"))

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

Acknowledgments

  • Dan Bodart'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.