mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-10-06 00:02:08 -04:00
50 lines
1.5 KiB
Markdown
50 lines
1.5 KiB
Markdown
# 0.4.0
|
|
|
|
* Feature: SSH proxy plugin -> send requests over ssh gateway;
|
|
|
|
```ruby
|
|
HTTPX.plugin(:"proxy/ssh").
|
|
with_proxy(uri: "ssh://localhost:2222",
|
|
username: "root",
|
|
auth_methods: %w[publickey],
|
|
host_key: "ssh-rsa",
|
|
keys: %w[test/support/ssh/ssh_host_ed25519_key]).get(URI)
|
|
```
|
|
|
|
* Feature: Faraday Adapter
|
|
|
|
* refactoring: cookies plugin API simplification (this is a breaking change!):
|
|
|
|
```ruby
|
|
session = HTTPX.plugin(:cookies)
|
|
session.with_cookies("a" => "b").get(...
|
|
session.cookies #=> session current cookie store, persists/updates session cookies as requests are processed
|
|
session.wrap do |session|
|
|
session.get(..) #=> "Set-Cookie"
|
|
...
|
|
end #=> after this, cookie store resets to the state previous to wrap
|
|
```
|
|
|
|
Removed `Session#cookie_store`
|
|
|
|
```ruby
|
|
client = HTTPX.plugin(:cookies)
|
|
redirect_response = client.get(URI) #=> ... 302 ... Set-Cookie: "blablalba" ...
|
|
# this sets the cookies
|
|
# GET .... Cookie: "blablabla" ....
|
|
response = client.get(URI) #=> ... 200 ...
|
|
# also, setting cookies:
|
|
|
|
client.cookies("a" => "b").get(URI) # ... Cookie: "a=b" ...
|
|
|
|
#also seamlessly integrates with redirect follows
|
|
client = HTTPX.plugins(:follow_redirects, :cookies)
|
|
response = client.get(URI) #=> ... 200 ...
|
|
|
|
* refactoring: connection pool now thread-local, improves thread-safety;
|
|
|
|
* bugfix: leaking dns query when passing IO object as option;
|
|
|
|
* bugfix: now multiple different resolvers are supported;
|
|
|
|
* support: JRuby is again supported (as usual, only latest stable is guaranteed) |