Besides several versions of CRuby,
httpx tests also against the most popular alternative implementations of Ruby,
truffleruby. There are a few considerations and workarounds to consider when using
httpx under these implementations, so this page aims at documenting useful guidelines and tips.
JRuby doesn’t run C-extensions, some of the plugins are unusable, as they don’t provide the needed Java extensions:
compression/brotli(uses the brotli gem, C-extensions based)
proxy/ssh(uses net-ssh-gateway, hangs under JRuby)
jruby-openssl introduced ALPN negotiation starting with
0.12.2, which enables HTTP/2 in the sames conditions as when using CRuby (In lower versions, HTTP/1.1 will be used).
Since v0.12.0 ,
httpx also supports
truffleruby, starting with v20.3. Some of its functionality is still limited (some compression modes are still not 100%, and socks4 proxy still has some issues), so make sure you follow the latest truffleruby CI jobs to track progress.
httpx is aiming at providing full support for truffleruby starting with the v21.1 .