An asynchronous client and server implementation of HTTP/1.0, HTTP/1.1 and HTTP/2 including TLS. Support for streaming requests and responses. Built on top of async, io-endpoint and io-stream. falcon provides a rack-compatible server.
Please see the project documentation for more details.
Getting Started - This guide explains how to get started with Async::HTTP.
Testing - This guide explains how to use Async::HTTP clients and servers in your tests.
Please see the project releases for all releases.
Async::HTTP::Protocol::HTTP1::Server#each without reporting them as server failures.Async::HTTP::Endpoint.INTERNAL_ERROR before returning a response.metrics and traces optional runtime dependencies. Applications that use the providers should depend on the corresponding gem and require the provider explicitly.Protocol::HTTP::RefusedError for safe retry of requests not processed by the server, including non-idempotent methods like PUT.
Async::HTTP::Protocol::RequestFailed in favour of Protocol::HTTP::RefusedError.protocol-http1.protocol-http2, enabling automatic retry of unprocessed requests.send_response completes (e.g. client-side gRPC cancellation). The response body's close was never called, leaking any resources tied to body lifecycle (such as rack.response_finished callbacks and utilization metrics).async-http.async-http.async-http.We welcome contributions to this project.
git checkout -b my-new-feature).git commit -am 'Add some feature').git push origin my-new-feature).To run the test suite:
bundle exec sus
To make a new release:
bundle exec bake gem:release:patch # or minor or major
In order to protect users of this project, we require all contributors to comply with the Developer Certificate of Origin. This ensures that all contributions are properly licensed and attributed.
This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.
Ruby
100.0%
An asynchronous client and server implementation of HTTP/1.0, HTTP/1.1 and HTTP/2 including TLS. Support for streaming requests and responses. Built on top of async, io-endpoint and io-stream. falcon provides a rack-compatible server.
Please see the project documentation for more details.
Getting Started - This guide explains how to get started with Async::HTTP.
Testing - This guide explains how to use Async::HTTP clients and servers in your tests.
Please see the project releases for all releases.
Async::HTTP::Protocol::HTTP1::Server#each without reporting them as server failures.Async::HTTP::Endpoint.INTERNAL_ERROR before returning a response.metrics and traces optional runtime dependencies. Applications that use the providers should depend on the corresponding gem and require the provider explicitly.Protocol::HTTP::RefusedError for safe retry of requests not processed by the server, including non-idempotent methods like PUT.
Async::HTTP::Protocol::RequestFailed in favour of Protocol::HTTP::RefusedError.protocol-http1.protocol-http2, enabling automatic retry of unprocessed requests.send_response completes (e.g. client-side gRPC cancellation). The response body's close was never called, leaking any resources tied to body lifecycle (such as rack.response_finished callbacks and utilization metrics).async-http.async-http.async-http.We welcome contributions to this project.
git checkout -b my-new-feature).git commit -am 'Add some feature').git push origin my-new-feature).To run the test suite:
bundle exec sus
To make a new release:
bundle exec bake gem:release:patch # or minor or major
In order to protect users of this project, we require all contributors to comply with the Developer Certificate of Origin. This ensures that all contributions are properly licensed and attributed.
This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.
Ruby
100.0%