Example:
require "http"
require "logger"
HTTP.use(:logging => { :logger => Logger.new(STDOUT) })
.use(:auto_deflate)
.get("https://example.com")
The above will send request:
GET https://example.com/
Connection: close
Content-Encoding: gzip
Host: example.com
User-Agent: http.rb/4.0.3
Content-Encoding is being sent as gzip, while there's no content at all. That makes some servers go nuts. E.g. I've seen 403 responses, while example.com responds with 400 (which I believe is correct response if it needs to be failed)