class HTTPClient::Session::LenientInflater
This inflater allows deflate compression with/without zlib header
Public Class Methods
new()
click to toggle source
# File lib/httpclient/session.rb, line 660 def initialize @inflater = Zlib::Inflate.new(Zlib::MAX_WBITS) @first = true end
Public Instance Methods
inflate(body)
click to toggle source
# File lib/httpclient/session.rb, line 665 def inflate(body) if @first first_inflate(body) else @inflater.inflate(body) end end
Private Instance Methods
first_inflate(body)
click to toggle source
# File lib/httpclient/session.rb, line 675 def first_inflate(body) @first = false begin @inflater.inflate(body) rescue Zlib::DataError # fallback to deflate without zlib header @inflater = Zlib::Inflate.new(-Zlib::MAX_WBITS) @inflater.inflate(body) end end