savonrb / httpi

Common interface for Ruby's HTTP clients
http://httpirb.com
MIT License
300 stars 150 forks source link

Warning on Ruby 3.3 #241

Closed frederikspang closed 9 months ago

frederikspang commented 10 months ago

Running on Ruby 3.3, the following error is emitted from httpi gem. We should add this to gemspec, and release a version as soon as possible, to ensure as many people as possible, upgrade to this new version before Ruby 3.4.0 release (estimated for Dec. 25th 2024).

/gems/httpi-3.0.1/lib/httpi/adapter/net_http.rb:5: warning: kconv is found in nkf, which will no longer be part of the default gems since Ruby 3.4.0. Add nkf to your Gemfile or gemspec. Also contact author of httpi-3.0.1 to add nkf into its gemspec.
olleolleolle commented 10 months ago

Would you mind making a PR adding the gem to the gemspec? No trouble if not.

frederikspang commented 10 months ago

I can! I’ll try either later today, or tomorrow.

frederikspang commented 10 months ago

@olleolleolle I have created a PR with nkf, however, my local specs are failing, due to OpenSSL error. Maybe because I'm running with OpenSSL 3.2.0?

Furthermore, I am actually unable to find the usage of any nkf module - in this instance kconv as in the warning.

The question is, do we want to do any effort to validate this, given the potential outcome of #238?

For reference - Failing spec on local PC:

  1) HTTPI::Adapter::HTTPClient supports NTLM authentication
     Failure/Error: respond_with @client.request(method, @request.url, nil, @request.body, @request.headers, &@request.on_body)

     OpenSSL::Digest::DigestError:
       Digest initialization failed: initialization error
     # ./lib/httpi/adapter/httpclient.rb:26:in `request'
     # ./lib/httpi.rb:162:in `request'
     # ./lib/httpi.rb:127:in `get'
     # ./spec/httpi/adapter/httpclient_spec.rb:222:in `block (2 levels) in <top (required)>'
frederikspang commented 10 months ago

Found the culprint https://github.com/WinRb/rubyntlm/issues/57

pcai commented 9 months ago

I pinged that thread in rubyntlm to help, but I merged the contribution in the meanwhile. Thanks!