HTTPX (v0.21.0)

A client library for making HTTP requests from Ruby.

HTTPX.get("https://news.ycombinator.com")

Convert curl commands into httpx

Blog README WIKI RSS

Plugins

BasicAuth:
API and support for Basic Authentication.
DigestAuthentication:
API and support for Digest Authentication.
NTLMAuthentication:
API and support for NTLM Authentication.
AwsSigV4Authentication:
API and support for AWS SigV4 Authentication.
Compression:
Compression of request and response bodies.
Cookies:
Additional API for setting and interpreting cookies (using `http-cookie`).
FollowRedirects:
Ability to follow redirects.
Retries:
Ability to retry requests.
Proxy:
Proxy Support (HTTP, HTTPS, Socks 4/4a/5).
PushPromise:
Support for HTTP/2 Server Push.
Upgrade:
Support for migrating an HTTP/1.1 connection using the "Upgrade" header (h2c, h2...).
Stream:
API for reading response payloads in chunks (supports endless streams as well).
Multipart Uploads:
API and support for multipart uploads (using `http-form_data`).
Persistent:
Persist connections over the lifetime of a process.
Stream:
handles streaming responses (i.e. the Twitter Streaming API, or the `text/event-stream` mime type).
Expect:
Supports "100-continue" header in requests with a body.
Rate Limiter:
handle rate limiting responses from throttling server automatically.
GRPC:
API for building rich GRPC clients.
Response Cache:
HTTP caching to minimize bandwidth usage, leveraging etag and last-modified headers.
Circuit Breaker:
fail fast and recover after a while" when peer error rate increases.
WebDAV:
convenience methods to handle common webdav operations.

Release notes