Mixin for holding meta-information.
returns an Array that consists of status code and message.
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 rake/lib/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 && %r{\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 rake/lib/open-uri.rb, line 514 def content_encoding v = @meta['content-encoding'] if v && %r{\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
returns “type/subtype” which is MIME Content-Type. It is downcased for canonicalization. Content-Type parameters are stripped.
# File rake/lib/open-uri.rb, line 482 def content_type type, *_ = content_type_parse type || 'application/octet-stream' end
returns a Time that represents the Last-Modified field.
# File rake/lib/open-uri.rb, line 447 def last_modified if v = @meta['last-modified'] Time.httpdate(v) else nil end end