Skip to content

daviddenton/http4kbox

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
k8s
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

http4kbox - http4k app deployed in multiple modes

This is a simple Dropbox clone built with http4k which uses S3 as a backing store, implemented in ~70 lines of code (when imports are excluded). It is designed to demo that http4k apps run identically in the following modes:

  1. As a Kotlin function with SunHttp dev server for tests - see app
  2. In a deployed local Undertow server + Apache HTTP client - see local
  3. To Heroku as a cloud-based Apache server (with Java HTTP client) deployed through a fully CD pipeline run on Travis - see heroku
  4. Into a Kubernetes cluster - see k8s
  5. As a pure Kotlin function deployed in a Serverless environment (AWS Lambda) - see serverless
  6. As a native Apache server binary running in GraalVM - see native

Apart from the switchable server backends and clients, the core app uses the following http4k modules and features:

  • http4k-core <-- main HTTP library
  • http4k-cloudnative <-- for 12-factor configuration via environmental properties
  • http4k-aws <-- replaces the Java AWS SDK
  • http4k-template-handlebars <-- for templating
  • http4k-multipart <-- multipart form uploads
  • http4k-testing-hamkrest <-- for test assertions

In action:

About

Multi-platform http4k demo application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published