115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# File 'lib/x2ch.rb', line 115
def self.download(url, if_modified_since = nil, range = nil)
= {"User-Agent" => "Monazilla/1.00 (x2ch/#{X2CH::VERSION})", "Accept-Encoding" => 'gzip'}
if if_modified_since
["If-Modified-Since"] = if_modified_since
end
if range
["Range"] = range
end
begin
res = open(url, ){|f|
body = nil
if f.content_encoding.index('gzip')
body = Zlib::GzipReader.new(f).read.toutf8
else
body = f.read.toutf8
end
[body, f.status, f.last_modified, f.content_encoding, body.size]
}
rescue OpenURI::HTTPError => e
raise DownloadError.new(e.message)
end
StringResponse.new(res[0], res[1], res[2], res[3], res[4])
end
|