0_9_0.md

doc/release_notes/0_9_0.md
Last Update: 2024-12-18 13:38:28 +0000

0.9.0

Features

Multiple requests with specific options

You can now pass a third element to the “request element” of an array to .request.

requests = [
  [:post, "https://url/post", { form: { foo: "bar" } }],
  [:post, "https://url/post", { form: { foo: "bar2" } }]
]
HTTPX.request(requests)
# or, if you want to pass options common to all requests
HTTPX.request(requests, max_concurrent_requests: 1)

HTTPX::Session#build_request

HTTPX::Session::build_request is now public API from a session. You can now build requests before you send them. These request objects are still considered somewhat “internal”, so consider them immutable and do not rely on its API. Just pass them forward.

Note: this API is only available for instantiated session, so there is no HTTPX.build_request.

HTTPX.wrap do |http|
  requests = [
    http.build_request(:post, "https://url/post", { form: { foo: "bar" } }),
    http.build_request(:post, "https://url/post", { form: { foo: "bar2" } })
  ]
  http.request(requests)
  # or, if you want to pass options common to all requests
  http.request(requests, max_concurrent_requests: 1)
end