Skip to content
/ http4k Public
forked from http4k/http4k

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

License

Notifications You must be signed in to change notification settings

aharin/http4k

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


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.

About

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

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 97.1%
  • HTML 2.0%
  • Java 0.8%
  • Shell 0.1%
  • Python 0.0%
  • Pug 0.0%