http icon indicating copy to clipboard operation
http copied to clipboard

HTTP (The Gem! a.k.a. http.rb) - a fast Ruby HTTP client with a chainable API, streaming support, and timeouts

Results 113 http issues
Sort by recently updated
recently updated
newest added

As of #468 pipes will cause failure: ``` ruby reader, writer = IO.pipe writer.puts "abc" writer.close HTTP.post(url, :body => reader) ``` That is because `reader` is an IO that supports...

I am using the http gem in a rails api project. I have a problem while making a "get" call to another rails api using the `:params` option . this...

When available, ipv6 addresses seem to be preferred to IPv4 ones. However, in practice, v6 addresses are much less reliable. This is a pretty big problem for the Mastodon project,...

This is an online service for HTTP(S) testing. It looks nice for use with any tests which are live instead of against the mock server.

If I use `HTTP` to perform two requests in a row and I don't do `response.body.to_s` on the first then the body string for the first response will be overwritten...

and vice-versa. See https://github.com/ruby/ruby/blob/trunk/lib/net/protocol.rb#L162-L163 and the link in the comments. This is a case for every SSLSocket. I don't know how much implications this might have had in real world...

I think http.rb may be vulnerable to something similar to this: http://seclists.org/fulldisclosure/2016/Jun/63 I don't think `HTTP::URI` is properly sanitizing the URL such this won't happen.

Security

Using Wireshark, I am able to confirm that this works as expected, using only one TCP connection: ```rb HTTP.persistent("http://api.icndb.com") {|http| http.get("/jokes/random").to_s; http.get("/jokes/random").to_s } ``` However, this doesn't, closing the TCP...

Hi, I'm getting the following error when trying to use the HTTP gem with Rails 7.1.3: ``` You have already activated base64 0.1.1, but your Gemfile requires base64 0.2.0. Since...

I want to set a project level timeout is `HTTP.default_options = { timeout_class: HTTP::Timeout::Global, timeout_options: { global_timeout: 10 } } ` ok?