Mixin for holding meta-information.
returns a charset parameter in Content-Type field. It is downcased for canonicalization.
If charset parameter is not given but a block is given, the block is called and its result is returned. It can be used to guess charset.
If charset parameter and block is not given, nil is returned except text type in HTTP. In that case, “iso-8859-1” is returned as defined by RFC2616 3.7.1.
# File open-uri.rb, line 497
def charset
type, *parameters = content_type_parse
if pair = parameters.assoc('charset')
pair.last.downcase
elsif block_given?
yield
elsif type && %{\Atext/} =~ type &&
@base_uri && /\Ahttp\z/ =~ @base_uri.scheme
"iso-8859-1" # RFC2616 3.7.1
else
nil
end
end
returns a list of encodings in Content-Encoding field as an Array of String. The encodings are downcased for canonicalization.
# File open-uri.rb, line 514
def content_encoding
v = @meta['content-encoding']
if v && %{\A#{RE_LWS}?#{RE_TOKEN}#{RE_LWS}?(?:,#{RE_LWS}?#{RE_TOKEN}#{RE_LWS}?)*} =~ v
v.scan(RE_TOKEN).map {|content_coding| content_coding.downcase}
else
[]
end
end