An Elixir HTTP/1 and HTTP/2 web server and client that implements the Raxx interface.
Ace is an HTTP web server and client built in Elixir that supports both HTTP/1 and HTTP/2 protocols. It provides a foundation for building web applications and services with modern HTTP features, including TLS/SSL for secure connections and HTTP/2 support. It integrates with the Raxx ecosystem for streaming, server-push, routing, and API documentation.
Elixir developers building web applications or services that require modern HTTP protocol support, such as HTTP/2, and want an idiomatic Elixir alternative to Erlang-based servers. It's also suitable for projects leveraging the Raxx ecosystem for HTTP interface tooling.
Developers choose Ace for its native Elixir implementation, offering a modern, idiomatic alternative to Erlang-based servers like Cowboy, with seamless integration into the Elixir ecosystem and supervision trees. Its support for both HTTP/1 and HTTP/2 with TLS, along with Raxx compatibility, provides a streamlined foundation for building scalable web services.
HTTP web server and client, supports http1 and http2
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Ace supports both HTTP/1 and HTTP/2, with TLS enabling HTTP/2 for modern web applications, as shown in the README's configuration examples for secure connections.
Written in Elixir, it integrates seamlessly with Elixir's supervision trees and idioms, offering a cleaner alternative to Erlang-based servers like Cowboy or Elli.
Implements the Raxx HTTP interface, allowing access to streaming, server-push, routing, and API documentation tools without additional dependencies, as highlighted in the README.
Provides straightforward TLS setup with certificate and key files, supporting secure connections and HTTP/2, detailed in the README's TLS/SSL section with clear examples.
Compared to Cowboy, Ace has a smaller user base and fewer third-party integrations, as noted in the README, which can make finding solutions and support more challenging.
Setting up TLS and integrating with supervision trees requires manual steps, such as specifying certfiles and keyfiles, which might be more complex than plug-and-play servers in higher-level frameworks.
The tight integration with Raxx means developers are locked into its ecosystem; if other HTTP interfaces are preferred, compatibility issues may arise, as Ace includes Raxx by default.