A minimal, idiomatic Scala interface for HTTP
Clone or download
Latest commit 29698ef Oct 20, 2018
Permalink
Failed to load latest commit information.
argonaut/src Only removing charset, not .withContentType Jun 6, 2018
async-http-client/src Simplify Resource Construction Oct 13, 2018
bench/src/main/scala/org/http4s/bench PURGE Mar 23, 2018
blaze-client/src Merge branch 'master' into tick-wheel-resource Oct 20, 2018
blaze-core/src Merge branch 'master' into tick-wheel-resource Oct 20, 2018
blaze-server/src s/responseLineTimeout/responseHeaderTimeout/g Oct 16, 2018
boopickle/src Upgrade to fs2-1.0.0-M3 Aug 19, 2018
circe/src Upgrade to fs2-1.0.0-M3 Aug 19, 2018
client/src Merge pull request #2195 from rossabaker/merge-0.18.20 Oct 20, 2018
core/src/main/scala/org/http4s Merge branch 'master' into tick-wheel-resource Oct 20, 2018
docs/src Merge pull request #2173 from luisdeltoro/CommonLayerServerMetrics_#2131 Oct 18, 2018
dropwizard-metrics/src Run Scala Fmt Oct 14, 2018
dsl/src Fix scalafmt Oct 13, 2018
examples Merge pull request #2173 from luisdeltoro/CommonLayerServerMetrics_#2131 Oct 18, 2018
jawn/src jawn compiling and testing green Aug 21, 2018
jetty-client/src Simplify Resource Construction Oct 13, 2018
jetty/src Merge branch 'master' into server Sep 25, 2018
json4s-jackson/src Massive refactoring of the build. Jun 26, 2015
json4s-native/src Update jawn-json4s and update code to new jawn version Aug 17, 2017
json4s/src Upgrade to fs2-1.0.0-M1 and friends Jun 5, 2018
licenses Double shift the reads and writes in java.net client Jun 18, 2018
mimedb-generator Replace request timeout with concurrent effect Oct 16, 2018
okhttp-client/src I can't sleep Sep 22, 2018
play-json/src scalafmt Aug 14, 2018
project Update blaze-http to 0.14.0-M8 Oct 20, 2018
prometheus-metrics/src Run Scala Fmt Oct 14, 2018
scala-xml/src Upgrade to fs2-1.0.0-M3 Aug 19, 2018
scalatags/src Not my first scalafmt embarrassment, won't be my last Aug 30, 2018
scripts Fix the versions table on the site Mar 24, 2018
server/src Merge pull request #2180 from ChristopherDavenport/unavailableTimeout… Oct 19, 2018
servlet/src Don't start response until after we add async timeout listener Sep 24, 2018
testing/src added license and credits from cats-effect Oct 18, 2018
tests/src/test scalafmt diff Oct 16, 2018
tomcat/src Merge branch 'master' into server Sep 25, 2018
twirl/src Merge branch 'release-0.18.x' Aug 14, 2018
website/src/hugo Merge branch 'release-0.18.x' into merge-0.18.20 Oct 19, 2018
.appveyor.yml Upgrade scala and sbt Sep 27, 2018
.gitignore Move releases fully to Travis Sep 29, 2017
.jvmopts Remove Comments from JVMOpts Sep 27, 2017
.scalafmt.conf Remove Unecessary Parboiled Exclusion Jan 19, 2018
.travis.yml Upgrade scala and sbt Sep 27, 2018
CODE_OF_CONDUCT.md Scala Code of Conduct Sep 12, 2018
CONTRIBUTING.md Fix URI scheme for http4s.org and typelevel.org Mar 25, 2018
LICENSE Include full text of Apache license Aug 23, 2016
NOTICE New toHttpApp interpreter based on Resource#run Sep 26, 2018
README.md Add cats-friendly badge Sep 30, 2018
build.sbt Consolidate dropwizard client and server metrics in one project Oct 14, 2018
codecov.yml Reconfigure codecov Aug 26, 2016
scalastyle-config.xml Introduce scalastyle, use it to clean up core Aug 3, 2016
version.sbt Bump to 0.19.1-SNAPSHOT Oct 6, 2018

README.md

Http4s Build Status Build status Gitter chat Maven Central Typelevel library Cats friendly

Http4s is a minimal, idiomatic Scala interface for HTTP services. Http4s is Scala's answer to Ruby's Rack, Python's WSGI, Haskell's WAI, and Java's Servlets.

val http = HttpRoutes.of {
  case GET -> Root / "hello" =>
    Ok("Hello, better world.")
}

Learn more at http4s.org.

If you run into any difficulties please enable partial unification in your build.sbt

scalacOptions ++= Seq("-Ypartial-unification")

Code of Conduct

http4s is proud to be a Typelevel incubator project. We are committed to providing a friendly, safe and welcoming environment for all, and ask that the community adhere to the Scala Code of Conduct.

License

This software is licensed under the Apache 2 license, quoted below.

Copyright 2013-2017 http4s [https://http4s.org]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

[http://www.apache.org/licenses/LICENSE-2.0]

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Acknowledgments

YourKit

Special thanks to YourKit for supporting this project's ongoing performance tuning efforts with licenses to their excellent product.