SkillAgentSearch skills...

Http4k

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

Install / Use

/learn @http4k/Http4k
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<hr/> <img src="https://http4k.org/images/logo-http4k.png" alt="http4k logo"> <hr/>

<a href="https://github.com/http4k/http4k/actions/workflows/build-http4k.yml"><img alt="build" src="https://github.com/http4k/http4k/actions/workflows/build-http4k.yml/badge.svg"></a> <a href="https://mvnrepository.com/artifact/org.http4k"><img alt="download" src="https://img.shields.io/maven-central/v/org.http4k/http4k-core"></a> <a href="https://codecov.io/gh/http4k/http4k"><img src="https://codecov.io/gh/http4k/http4k/branch/master/graph/badge.svg" /></a> <a href="http://www.apache.org/licenses/LICENSE-2.0"><img alt="GitHub license" src="https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat"></a> <a href="https://plugins.jetbrains.com/plugin/25243-http4k-toolbox"><img alt="intellij-badge" src="https://img.shields.io/jetbrains/plugin/v/25243-http4k-toolbox?label=intellij%20plugin"></a> <a href="https://kotlin.link"><img alt="awesome kotlin" src="https://kotlin.link/awesome-kotlin.svg"></a> <a href="https://opencollective.com/http4k"><img alt="Kotlin Slack" src="https://img.shields.io/badge/chat-kotlin%20slack-orange.svg"></a> <a href="https://opencollective.com/http4k"><img alt="back us!" src="https://opencollective.com/http4k/backers/badge.svg"></a> <a href="https://opencollective.com/http4k"><img alt="sponsor us!" src="https://opencollective.com/http4k/sponsors/badge.svg"></a>

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.
<h2>Sounds cool! Where can I find out more?</h2>

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.
<img src="https://static.scarf.sh/a.png?x-pxid=90ad22e8-2304-4739-a487-3be143207ba8" alt="scarf"/>

Related Skills

View on GitHub
GitHub Stars2.8k
CategoryDevelopment
Updated2d ago
Forks273

Languages

Kotlin

Security Score

85/100

Audited on Mar 28, 2026

No findings