A standardized interface library for Erlang HTTP servers, supporting Cowboy, Inets, Mochiweb, Webmachine, and Yaws.
SimpleBridge is an Erlang library that creates a standardized interface for multiple HTTP servers, including Cowboy, Inets, Mochiweb, Webmachine, and Yaws. It solves the problem of writing server-specific code by providing a unified API for handling HTTP requests, responses, WebSockets, file uploads, and cookies. This allows developers to build web applications and frameworks that are portable across different Erlang HTTP backends.
Erlang developers building web applications or frameworks who need to support multiple HTTP servers without rewriting code for each backend. It's particularly useful for framework authors (like Nitrogen Web Framework and ChicagoBoss) and teams deploying to diverse server environments.
Developers choose SimpleBridge because it eliminates the complexity of coding against multiple Erlang HTTP server APIs, reduces maintenance overhead, and enables features like WebSockets on servers that lack native support. Its extensible design and focus on standardization make it a reliable foundation for portable Erlang web projects.
A simple, standardized interface library to Erlang HTTP Servers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a single API for HTTP requests, responses, and WebSockets across multiple Erlang servers like Cowboy, Inets, and Yaws, eliminating the need for backend-specific code.
Enables WebSocket support even on servers like Inets and Mochiweb that lack native capabilities, as highlighted in the README's feature list.
Simplifies multipart file uploads with size limits and error management using #sb_uploaded_file records, reducing manual parsing work.
Adding support for a new HTTP server typically requires only 200–400 lines of code, making it adaptable to evolving server ecosystems.
Explicitly does not support EWGI-style middleware components, which limits architectural flexibility for applications relying on composable request processing layers.
Requires managing dependencies and configurations for underlying servers, and tuple calls need compile options in Erlang 21+, adding setup overhead.
Moving from SimpleBridge 1.x to 2.x involves handling deprecated functions and return type changes, which can be disruptive for existing codebases.