dream11 / Zio Http
Licence: mit
A scala library to write Http apps.
Stars: ✭ 162
Programming Languages
scala
5932 projects
Projects that are alternatives of or similar to Zio Http
Firefly
Firefly is an asynchronous web framework for rapid development of high-performance web application.
Stars: ✭ 277 (+70.99%)
Mutual labels: websocket, http-client, http-server
Akka Http
The Streaming-first HTTP server/module of Akka
Stars: ✭ 1,163 (+617.9%)
Mutual labels: websocket, http-client, http-server
Libhv
🔥 比libevent、libuv更易用的国产网络库。A c/c++ network library for developing TCP/UDP/SSL/HTTP/WebSocket client/server.
Stars: ✭ 3,355 (+1970.99%)
Mutual labels: websocket, http-client, http-server
Beast
HTTP and WebSocket built on Boost.Asio in C++11
Stars: ✭ 3,241 (+1900.62%)
Mutual labels: websocket, http-client, http-server
Jiny
Lightweight, modern, simple JVM web framework for rapid development in the API era
Stars: ✭ 40 (-75.31%)
Mutual labels: websocket, http-client, http-server
Hoppscotch
👽 Open source API development ecosystem https://hoppscotch.io
Stars: ✭ 34,569 (+21238.89%)
Mutual labels: websocket, http-client
Embedio
A tiny, cross-platform, module based web server for .NET
Stars: ✭ 1,007 (+521.6%)
Mutual labels: websocket, http-server
Flogo Contrib
Flogo Contribution repo. Contains activities, triggers, models and actions.
Stars: ✭ 60 (-62.96%)
Mutual labels: http-client, http-server
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 (-56.17%)
Mutual labels: http-client, http-server
Http4s
A minimal, idiomatic Scala interface for HTTP
Stars: ✭ 2,173 (+1241.36%)
Mutual labels: http-client, http-server
Cxxhttp
Asynchronous, Header-only C++ HTTP-over-(TCP|UNIX Socket|STDIO) Library
Stars: ✭ 24 (-85.19%)
Mutual labels: http-client, http-server
Foxy
Session-based Beast/Asio wrapper requiring C++14
Stars: ✭ 57 (-64.81%)
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 (+452.47%)
Mutual labels: http-client, http-server
Beetlex
high performance dotnet core socket tcp communication components, support TLS, HTTP, HTTPS, WebSocket, RPC, Redis protocols, custom protocols and 1M connections problem solution
Stars: ✭ 802 (+395.06%)
Mutual labels: websocket, http-server
Qtnetworkng
QtNetwork Next Generation. A coroutine based network framework for Qt/C++, with more simpler API than boost::asio.
Stars: ✭ 125 (-22.84%)
Mutual labels: http-client, http-server
Fs2 Http
Http Server and client using fs2
Stars: ✭ 132 (-18.52%)
Mutual labels: http-client, http-server
Aiohttp
Asynchronous HTTP client/server framework for asyncio and Python
Stars: ✭ 11,972 (+7290.12%)
Mutual labels: http-client, http-server
Cowboy
Small, fast, modern HTTP server for Erlang/OTP.
Stars: ✭ 6,533 (+3932.72%)
Mutual labels: websocket, http-server
ZIO Http
ZIO Http is a scala library for building http apps. It is powered by ZIO and netty and aims at being the defacto solution for writing, highly scalable and performant web applications using idiomatic scala.
Table of Contents
Getting Started
A simple Http server can be built using a few lines of code.
import zio._
import zhttp.http._
import zhttp.service.Server
object HelloWorld extends App {
val app = Http.collect[Request] {
case Method.GET -> Root / "text" => Response.text("Hello World!")
}
override def run(args: List[String]): URIO[zio.ZEnv, ExitCode] =
Server.start(8090, app).exitCode
}
Installation
Setup via build.sbt
libraryDependencies += "io.d11" %% "zhttp" % "[version]"
Benchmarks
These are some basic benchmarks of how ZIO Http performs wrt other main-stream libraries.
Benchmark (req/sec) | json |
plain-text |
---|---|---|
ZIO-Http | 700073.31 | 719576.04 |
Vert.x | 644854.27 | 707991.69 |
Finagle | 567496.97 | 572231.69 |
Play | 261223.68 | 263819.25 |
Http4s | 135565.22 | 139573.98 |
More details are available here.
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].