diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-07-19 22:43:38 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-07-19 22:43:38 +0000 |
commit | b1a0509b5465ce77f52e0384159237889a8d60ec (patch) | |
tree | ea22ccb90a2367364e0c740f15ad571558b025f4 /lib/net/http/generic_request.rb | |
parent | ef19dcf96dd2e84c4fe0a46888a5afd0cd457f80 (diff) | |
download | ruby-b1a0509b5465ce77f52e0384159237889a8d60ec.tar.gz |
* lib/net/http/response.rb: Automatically inflate gzip and
deflate-encoded response bodies. [Feature #6942]
* lib/net/http/generic_request.rb: Automatically accept gzip and
deflate content-encoding for requests. [Feature #6494]
* lib/net/http/request.rb: Updated documentation for #6494.
* lib/net/http.rb: Updated documentation for #6492 and #6494, removed
Content-Encoding handling now present in Net::HTTPResponse.
* test/net/http/test_httpresponse.rb: Tests for #6492
* test/net/http/test_http_request.rb: Tests for #6494
* test/open-uri/test_open-uri.rb (test_content_encoding): Updated test
for automatic content-encoding handling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/net/http/generic_request.rb')
-rw-r--r-- | lib/net/http/generic_request.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/net/http/generic_request.rb b/lib/net/http/generic_request.rb index ca4e48f277..bcf87d35be 100644 --- a/lib/net/http/generic_request.rb +++ b/lib/net/http/generic_request.rb @@ -14,6 +14,18 @@ class Net::HTTPGenericRequest raise ArgumentError, "no HTTP request path given" unless path raise ArgumentError, "HTTP request path is empty" if path.empty? @path = path + + if @response_has_body and Net::HTTP::HAVE_ZLIB then + if !initheader || + !initheader.keys.any? { |k| + %w[accept-encoding range].include? k.downcase + } then + initheader = initheader ? initheader.dup : {} + initheader["accept-encoding"] = + "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" + end + end + initialize_http_header initheader self['Accept'] ||= '*/*' self['User-Agent'] ||= 'Ruby' |