Contribute/support http4k

Contributors' Guide

There are many ways in which you can contribute to the development of the library:

  • Give us a Star on Github - you know you want to. ;)
  • Using http4k to build something? Get in touch and tell everyone about it, or even just us!
  • Sponsor us! The http4k team build the library out of love for software engineering and the OpenSource community, but running a project of this size is not without it's costs. Please see below for sponsorship options to help us keep the project running.
  • Get help! The http4k team have produced a reasonable amount of training materials and are available for onsite or remote consulting engagements to help companies get the most out of the library.

Pull requests

If there are any message format library or templating engine bindings that you'd like to see supported, then please feel free to suggest them or provide a PR.

  • JSON formats: create a new module with an implementation of Json by following the Argo example in the source.
  • Templating engines: create a new module with a Templates implementation by following the HandlebarsTemplates example in the source.
  • Server implementations: create a new module with a Server implementation by following the Jetty example in the source.
  • Client implementations: create a new module with a Client implementation by following the OkHttp example in the source.

General guidelines

  • Questions can be directed towards the Slack #http4k channel, or on Twitter @http4k
  • For issues, please describe giving as much detail as you can - including version and steps to recreate
  • At the moment, PRs should be sent to the master branch - this might change in future so check back everytime!
  • Source/binary compatibility always must be kept as far as possible - this is a must for minor and patch versions
  • PR changes should have test coverage. Note that we use Junit 5 as a test engine - which uses new @Test annotations.
  • All the PRs must pass the GitHub CI jobs before merging them

https://github.com/http4k/http4k

Testing with default settings is required when push changes. Note that we currently build against Java 21 (jEnv is good for managing multiple java versions):

./gradlew check

Credits

Contributors

Thank you to all the people who have already contributed to http4k!

Backers

Thank you to all our backers! [Become a backer]

Sponsors

Thank you to all our sponsors! (please ask your company to also support this open source project by becoming a sponsor, either on GitHub Sponsors or directly with OpenCollective)

Vendor support

Many thanks to all of the software vendors who supply tools to help us deliver http4k to it's community:

Kotlin IDE

intellij

Jetbrains kindly supplies the project with an Open Source License for the amazing IntelliJ IDE.

Pairing tools

tuple

Tuple supplies the http4k team with their amazing Pair-Programming tool Tuple allowing us to collaborate to build the library. Pairing is ace - everyone should do it!

JVM Profiling tools

yourkit

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.