summaryrefslogtreecommitdiff
path: root/test/open-uri/test_open-uri.rb
diff options
context:
space:
mode:
authorTanaka Akira <akr@fsij.org>2019-07-15 09:36:52 +0900
committerTanaka Akira <akr@fsij.org>2019-07-15 09:36:52 +0900
commit8f7884761e30c453287d73de6ea733d565635ebc (patch)
tree86d2f36c962910bd108c76ea214a834a1687f31c /test/open-uri/test_open-uri.rb
parent00a97d94122c256f4abe9375d19eaeb0f2eca201 (diff)
The default charset of text/* media type is UTF-8.
Thanks for the patch gareth (Gareth Adams). [Bug #15933] ------- Combines two small, but very related changes 1: Treat HTTPS the same as HTTP Previously, OpenURI followed guidance in RFC2616/3.7.1: > When no explicit charset parameter is provided by the sender, media > subtypes of the "text" type are defined to have a default charset > value of "ISO-8859-1" when received via HTTP. However this RFC was written before TLS was established and OpenURI was never updated to treat HTTPS traffic the same way. So, HTTPS documents received a different default to HTTP documents. This commit removes the scheme check so that all text/* documents processed by OpenURI are treated the same way. In theory this processing gets applied to FTP URIs too, but there's no mechanism in OpenURI for FTP documents to have Content-Type metadata appended to them, so this ends up being a no-op. 2: Change default charset for text/* to UTF-8 Replaces the default ISO-8859-1 charset previously defined in RFC2616 (now obsoleted) with a UTF-8 charset as defined in RFC6838. Fixes: https://bugs.ruby-lang.org/issues/15933
Diffstat (limited to 'test/open-uri/test_open-uri.rb')
-rw-r--r--test/open-uri/test_open-uri.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/open-uri/test_open-uri.rb b/test/open-uri/test_open-uri.rb
index 39cf420..0c7d77c 100644
--- a/test/open-uri/test_open-uri.rb
+++ b/test/open-uri/test_open-uri.rb
@@ -648,7 +648,7 @@ class TestOpenURI < Test::Unit::TestCase
URI.open("#{url}/nc/") {|f|
assert_equal("aa", f.read)
assert_equal("text/plain", f.content_type)
- assert_equal("iso-8859-1", f.charset)
+ assert_equal("utf-8", f.charset)
assert_equal("unknown", f.charset { "unknown" })
}
}