模块 OpenURI::Meta
用于保存元信息的混入。
属性
status[RW]
返回一个 Array
,它包含状态代码和消息。
公共实例方法
charset() { || ... } 点击切换源代码
返回 Content-Type 字段中的字符集参数。它被小写以进行规范化。
如果未给出字符集参数但给出了块,则调用该块并返回其结果。它可以用来猜测字符集。
如果字符集参数和块都没有给出,则返回 nil,除了文本类型。在这种情况下,根据 RFC6838 4.2.1 返回“utf-8”。
# File lib/open-uri.rb, line 549 def charset type, *parameters = content_type_parse if pair = parameters.assoc('charset') pair.last.downcase elsif block_given? yield elsif type && %r{\Atext/} =~ type "utf-8" # RFC6838 4.2.1 else nil end end
content_encoding() 点击切换源代码
返回 Content-Encoding 字段中的编码列表,作为字符串数组。
编码被小写以进行规范化。
# File lib/open-uri.rb, line 566 def content_encoding vs = @metas['content-encoding'] if vs && %r{\A#{RE_LWS}?#{RE_TOKEN}#{RE_LWS}?(?:,#{RE_LWS}?#{RE_TOKEN}#{RE_LWS}?)*}o =~ (v = vs.join(', ')) v.scan(RE_TOKEN).map {|content_coding| content_coding.downcase} else [] end end
content_type() 点击切换源代码
返回“类型/子类型”,它是 MIME Content-Type。它被小写以进行规范化。Content-Type 参数被剥离。
# File lib/open-uri.rb, line 534 def content_type type, *_ = content_type_parse type || 'application/octet-stream' end
last_modified() 点击切换源代码
返回一个 Time
,它表示 Last-Modified 字段。
# File lib/open-uri.rb, line 503 def last_modified if vs = @metas['last-modified'] v = vs.join(', ') Time.httpdate(v) else nil end end