A REST toolkit for building highly-scalable and fault-tolerant HTTP APIs with Elixir.
Placid is a toolkit for building robust, scalable, and fault-tolerant RESTful HTTP APIs in Elixir. It provides a structured foundation that emphasizes adherence to HTTP specifications and best practices, including versioned routing, request parsing, and content rendering. The toolkit is designed to help developers create maintainable, HTTP-compliant APIs with extensible components for real-world scalability.
Elixir developers and teams building production-grade RESTful HTTP APIs that require strict HTTP compliance, versioning, and scalability. It is particularly suited for those who need to enforce HTTPS, support multiple content types (JSON, XML), and implement internationalization in their API responses.
Developers choose Placid for its focus on HTTP specification compliance and its comprehensive feature set out-of-the-box, including versioned routing via Accept headers or URL patterns, automatic request parsing, and configurable CORS and HTTPS enforcement. Its integration with Linguist for internationalization and structured approach to API design make it a strong alternative for building maintainable, fault-tolerant APIs in Elixir.
Elixir REST toolkit on Plug — pipeline-style routing and response handling for HTTP APIs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports API versioning via Accept headers or URL patterns with a clean DSL that handles semantic versioning and date-based versions, as shown in the routing examples.
Parses JSON, XML, and form-encoded request bodies into Elixir terms automatically, reducing boilerplate code for data handling, detailed in the Request Parsing section.
Configures HTTPS as the default with options for self-signed certificates, prioritizing secure connections and providing guidance in the Configuration section.
Seamlessly integrates with Linguist for translating API responses, making i18n straightforward without additional setup, mentioned in the Internationalization section.
Many HTTP specification features like caching, pagination, and full RFC 7230-7235 compliance are listed in the TODO section, indicating they are not yet implemented.
Requires manual generation and management of SSL certificates using OpenSSL commands, adding complexity for deployment compared to frameworks with built-in solutions.
Integration with web frameworks like Phoenix is planned but not implemented, as noted in the TODO, so it lacks tight ecosystem integration out-of-the-box.