summaryrefslogtreecommitdiff
path: root/test/net
diff options
context:
space:
mode:
authorYusuke Endoh <mame@ruby-lang.org>2019-12-16 23:20:42 +0900
committerYusuke Endoh <mame@ruby-lang.org>2019-12-16 23:20:42 +0900
commit5105240b1e851410020b3b3f1a2bead7ffdd4291 (patch)
tree2a51dd29300cc4041503b3260f117e0e81c9a099 /test/net
parentd6fd39030d8b14eef117c1e5e265e0b769a9f4fd (diff)
lib/net/http/response.rb: support raw deflate correctly
Net::HTTP had used `Zlib::Inflate.new(32 + Zlib::MAX_WBITS)` for all content encoding (deflate, zlib, and gzip). But the argument `32 + Zlib::MAX_WBITS` means zlib and gzip decoding with automatic header detection, so (raw) deflate compression had not been supported. This change makes it support raw deflate correctly by passing an argument `-Zlib::MAX_WBITS` (which means raw deflate) to `Zlib::Inflate.new`. All deflate-mode tests are fixed too. [Bug #11268]
Diffstat (limited to 'test/net')
-rw-r--r--test/net/http/test_httpresponse.rb32
1 files changed, 16 insertions, 16 deletions
diff --git a/test/net/http/test_httpresponse.rb b/test/net/http/test_httpresponse.rb
index a03bb2e..14a804d 100644
--- a/test/net/http/test_httpresponse.rb
+++ b/test/net/http/test_httpresponse.rb
@@ -107,9 +107,9 @@ EOS
HTTP/1.1 200 OK
Connection: close
Content-Encoding: deflate
-Content-Length: 13
+Content-Length: 7
-x\x9C\xCBH\xCD\xC9\xC9\a\x00\x06,\x02\x15
+\xCBH\xCD\xC9\xC9\a\x00
EOS
res = Net::HTTPResponse.read_new(io)
@@ -126,7 +126,7 @@ EOS
assert_equal 'hello', body
else
assert_equal 'deflate', res['content-encoding']
- assert_equal "x\x9C\xCBH\xCD\xC9\xC9\a\x00\x06,\x02\x15", body
+ assert_equal "\xCBH\xCD\xC9\xC9\a\x00", body
end
end
@@ -135,9 +135,9 @@ EOS
HTTP/1.1 200 OK
Connection: close
Content-Encoding: DEFLATE
-Content-Length: 13
+Content-Length: 7
-x\x9C\xCBH\xCD\xC9\xC9\a\x00\x06,\x02\x15
+\xCBH\xCD\xC9\xC9\a\x00
EOS
res = Net::HTTPResponse.read_new(io)
@@ -154,7 +154,7 @@ EOS
assert_equal 'hello', body
else
assert_equal 'DEFLATE', res['content-encoding']
- assert_equal "x\x9C\xCBH\xCD\xC9\xC9\a\x00\x06,\x02\x15", body
+ assert_equal "\xCBH\xCD\xC9\xC9\a\x00", body
end
end
@@ -165,10 +165,10 @@ Connection: close
Content-Encoding: deflate
Transfer-Encoding: chunked
-6
-x\x9C\xCBH\xCD\xC9
-7
-\xC9\a\x00\x06,\x02\x15
+4
+\xCBH\xCD\xC9
+3
+\xC9\a\x00
0
EOS
@@ -187,7 +187,7 @@ EOS
assert_equal 'hello', body
else
assert_equal 'deflate', res['content-encoding']
- assert_equal "x\x9C\xCBH\xCD\xC9\xC9\a\x00\x06,\x02\x15", body
+ assert_equal "\xCBH\xCD\xC9\xC9\a\x00", body
end
end
@@ -196,9 +196,9 @@ EOS
HTTP/1.1 200 OK
Connection: close
Content-Encoding: deflate
-Content-Length: 13
+Content-Length: 7
-x\x9C\xCBH\xCD\xC9\xC9\a\x00\x06,\x02\x15
+\xCBH\xCD\xC9\xC9\a\x00
EOS
res = Net::HTTPResponse.read_new(io)
@@ -211,7 +211,7 @@ EOS
end
assert_equal 'deflate', res['content-encoding'], 'Bug #7831'
- assert_equal "x\x9C\xCBH\xCD\xC9\xC9\a\x00\x06,\x02\x15", body, 'Bug #7381'
+ assert_equal "\xCBH\xCD\xC9\xC9\a\x00", body, 'Bug #7381'
end
def test_read_body_content_encoding_deflate_no_length
@@ -220,7 +220,7 @@ HTTP/1.1 200 OK
Connection: close
Content-Encoding: deflate
-x\x9C\xCBH\xCD\xC9\xC9\a\x00\x06,\x02\x15
+\xCBH\xCD\xC9\xC9\a\x00
EOS
res = Net::HTTPResponse.read_new(io)
@@ -237,7 +237,7 @@ EOS
assert_equal 'hello', body
else
assert_equal 'deflate', res['content-encoding']
- assert_equal "x\x9C\xCBH\xCD\xC9\xC9\a\x00\x06,\x02\x15\r\n", body
+ assert_equal "\xCBH\xCD\xC9\xC9\a\x00\r\n", body
end
end