Provides abstractions for working with the HTTP protocol.
- General abstractions for HTTP requests and responses.
- Symmetrical interfaces for client and server.
- Light-weight middlewar model for building applications.
Please see the project documentation for more details.
-
Getting Started - This guide explains how to use
protocol-http
for building abstract HTTP interfaces. -
Design Overview - The interfaces provided by
Protocol::HTTP
underpin all downstream implementations. Therefore, we provide some justification for the design choices.
We welcome contributions to this project.
- Fork it.
- Create your feature branch (
git checkout -b my-new-feature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin my-new-feature
). - Create new Pull Request.
This project uses the Developer Certificate of Origin. All contributors to this project must agree to this document to have their contributions accepted.
This project is governed by Contributor Covenant. All contributors and participants agree to abide by its terms.
- protocol-http1 — HTTP/1 client/server implementation using this interface.
- protocol-http2 — HTTP/2 client/server implementation using this interface.
- async-http — Asynchronous HTTP client and server, supporting multiple HTTP protocols & TLS.
- async-websocket — Asynchronous client and server WebSockets.