Bug #10484
closedhttp response throw error with broken gzip compressed block(but can decompress)
Description
I meet a exception case for gzip compress, Ruby throws Zlib::BufError
Actually, I think this is not ruby's bug.
because this site make some weird gzip compressed block.
but major browser can handle this site well.
so, I this it is better to handle this case in Ruby also.
http://xe.sketchbooks.co.kr/806541
I found two things but it is because of weird compress block.
first, even though, it meets end of block, it just return Z_OK.
so, ruby zlib binding can't return last data block.
so I add code for returning last block in this case.
second. finish causes Zlib::BufError exception in this case.
so I catch this Exception only when finish causes Zlib::BufError
and I found one more thing.
Ruby 1.8.x run below code well. But ruby 2.x can't
(I just guess, it is unintented side effect to push block code for inflate)
require 'net/https'
require 'open-uri'
url = "http://xe.sketchbooks.co.kr/806541"
uri = URI.parse(url.to_s)
http = Net::HTTP::new(uri.host, uri.port)
http_get = Net::HTTP::Get.new(uri.request_uri)
response = http.request(http_get)
Files
Updated by jeremyevans0 (Jeremy Evans) over 3 years ago
- Status changed from Open to Rejected