Spec-Zone.ru › Ruby 2.3

модуль OpenURI::Meta

Миксин для хранения метаинформации.

Атрибуты

base_uri[RW]

возвращает URI, который является основой для относительных URI в данных. Он может отличаться от URI, предоставленного пользователем, из-за переадресации.

meta[R]

возвращает Hash, который представляет поля заголовка. Ключи Hash приведены к нижнему регистру для канонизации. Значения Hash являются телом поля. Если существует несколько полей с одинаковым именем поля, значения полей конкатенируются запятой.

metas[R]

возвращает Hash, который представляет поля заголовка. Ключи Hash приведены к нижнему регистру для канонизации. Значение Hash — это массив значений полей.

status[RW]

возвращает массив, состоящий из кода состояния и сообщения.

Открытые методы экземпляров

charset() { || ... } Показать исходный код
# File lib/open-uri.rb, line 529
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/i =~ @base_uri.scheme
    "iso-8859-1" # RFC2616 3.7.1
  else
    nil
  end
end

возвращает параметр charset в поле Content-Type. Он приводится к нижнему регистру для канонизации.

Если параметр charset не указан, но задан блок, блок вызывается, и его результат возвращается. Его можно использовать для определения charset.

Если параметр charset и блок не заданы, возвращается nil, за исключением текстового типа в HTTP. В этом случае возвращается «iso-8859-1», как определено в RFC2616 3.7.1.

content_encoding() Показать исходный код
# File lib/open-uri.rb, line 547
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-Encoding в виде массива строк.

Кодировки приведены к нижнему регистру для канонизации.

content_type() Показать исходный код
# File lib/open-uri.rb, line 514
def content_type
  type, *_ = content_type_parse
  type || 'application/octet-stream'
end

возвращает «тип/подтип», который является MIME Content-Type. Он приводится к нижнему регистру для канонизации. Параметры Content-Type удаляются.

last_modified() Показать исходный код
# File lib/open-uri.rb, line 476
def last_modified
  if vs = @metas['last-modified']
    v = vs.join(', ')
    Time.httpdate(v)
  else
    nil
  end
end

возвращает Time, который представляет поле Last-Modified.

Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API