All Projects → http4s → Http4s

http4s / Http4s

Licence: apache-2.0
A minimal, idiomatic Scala interface for HTTP

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to Http4s

zenith
⚡ Functional Scala HTTP server, client, and toolkit.
Stars: ✭ 15 (-99.31%)
Mutual labels:  cats, http-client, http-server
http4s-good-practices
Collection of what I consider good practices in Http4s (WIP)
Stars: ✭ 74 (-96.59%)
Mutual labels:  fs2, http-client, http-server
typelevel-stack.g8
📚 Unofficial Giter8 template for the Typelevel Stack (Http4s / Doobie / Circe / Cats Effect / Fs2) based on Cats v1.x.x
Stars: ✭ 63 (-97.1%)
Mutual labels:  cats, typelevel, fs2
http4s-dom
http4s, in a browser near you
Stars: ✭ 13 (-99.4%)
Mutual labels:  cats, typelevel, http-client
Foxy
Session-based Beast/Asio wrapper requiring C++14
Stars: ✭ 57 (-97.38%)
Mutual labels:  http-client, http-server
Jiny
Lightweight, modern, simple JVM web framework for rapid development in the API era
Stars: ✭ 40 (-98.16%)
Mutual labels:  http-client, http-server
Skunk
A data access library for Scala + Postgres.
Stars: ✭ 1,107 (-49.06%)
Mutual labels:  typelevel, cats
Monix
Asynchronous, Reactive Programming for Scala and Scala.js.
Stars: ✭ 1,819 (-16.29%)
Mutual labels:  typelevel, cats
Poco
The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
Stars: ✭ 5,762 (+165.16%)
Mutual labels:  http-client, http-server
Akka Http
The Streaming-first HTTP server/module of Akka
Stars: ✭ 1,163 (-46.48%)
Mutual labels:  http-client, http-server
Monocle
Optics library for Scala
Stars: ✭ 1,357 (-37.55%)
Mutual labels:  typelevel, cats
Cxxhttp
Asynchronous, Header-only C++ HTTP-over-(TCP|UNIX Socket|STDIO) Library
Stars: ✭ 24 (-98.9%)
Mutual labels:  http-client, http-server
Sylar
C++高性能分布式服务器框架,webserver,websocket server,自定义tcp_server(包含日志模块,配置模块,线程模块,协程模块,协程调度模块,io协程调度模块,hook模块,socket模块,bytearray序列化,http模块,TcpServer模块,Websocket模块,Https模块等, Smtp邮件模块, MySQL, SQLite3, ORM,Redis,Zookeeper)
Stars: ✭ 895 (-58.81%)
Mutual labels:  http-client, http-server
Flogo Contrib
Flogo Contribution repo. Contains activities, triggers, models and actions.
Stars: ✭ 60 (-97.24%)
Mutual labels:  http-client, http-server
Scala Pet Store
An implementation of the java pet store using FP techniques in scala
Stars: ✭ 812 (-62.63%)
Mutual labels:  typelevel, cats
Zio Tls Http
100% non-blocking, Java NIO only( inspired by zio-nio) , JSON HTTP server based on Scala ZIO library. Everything including TLS encryption modeled as ZIO effects, convenient route DSL similar to https4s, up to 30K TPS local JSON transaction with 25 threads on 6 cores(i7) with ZIO fibers.
Stars: ✭ 71 (-96.73%)
Mutual labels:  http-client, http-server
Http4k
The Functional toolkit for Kotlin HTTP applications. http4k provides a simple and uniform way to serve, consume, and test HTTP services.
Stars: ✭ 1,883 (-13.35%)
Mutual labels:  http-client, http-server
Fs2 Http
Http Server and client using fs2
Stars: ✭ 132 (-93.93%)
Mutual labels:  http-client, http-server
Aiohttp
Asynchronous HTTP client/server framework for asyncio and Python
Stars: ✭ 11,972 (+450.94%)
Mutual labels:  http-client, http-server
Httpp
Micro http server and client written in C++
Stars: ✭ 144 (-93.37%)
Mutual labels:  http-client, http-server

Http4s Build Status 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 (not needed for Scala 2.13 and beyond, because Scala 2.13.0+ has partial unification switched on by default)

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

Requirements

Running the blaze backend requires a modern, supported version of the JVM to build and run, as it relies on server APIs unavailable before JDK8u252. Any JDK newer than JDK8u252, including 9+ is supported.

Code of Conduct

http4s is proud to be a Typelevel 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-2021 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].