A purely-functional library for HTTP server and client development.
A high-performance, purely-functional library for generating servers, type-safe clients, and rich API documentation from a single type-safe service definition.
Scalaz HTTP is a principled functional programming library for building typesafe web applications. The library is focused on composability and scalability. Unlike most other libraries, Scalaz HTTP creates clients and documentation from a single server definition.
- Type-safe client and documentation generation
- Type-safe, purely-functional design that works beautifully with Scalaz
- No macros, runtime reflection, or compiler plug-ins
Http4s | Akka-Http | Finch | Rho1 | Typedapi | |
---|---|---|---|---|---|
purely functional | ✓ | 𐄂 | 𐄂 | ✓ | ✓ |
no macros or reflection | ✓ | 𐄂 | 𐄂 | 𐄂 | 𐄂2 |
scalaz compatability | 𐄂 | 𐄂 | 𐄂 | 𐄂 | ✓3 |
client generation | 𐄂 | 𐄂 | 𐄂 | 𐄂 | ✓ |
documentation generation | 𐄂 | 𐄂 | 𐄂 | 𐄂 | 𐄂 |
1 Rho is a DSL for creating HTTP endpoints with Http4s
2 Typedapi relies on shapeless, therefore uses Macros indirectly
3 Typedapi is independent of any HTTP/library implementation