Spec-Zone.ru › Ruby 2.7

класс Bundler::URI::HTTP

Родитель:
Bundler::URI::Generic

Синтаксис HTTP URI определен в разделе 3.3 RFC1738.

Обратите внимание, что библиотека Ruby Bundler::URI разрешает HTTP URL, содержащие имена пользователей и пароли. Это некорректно согласно RFC, но поддерживалось в Internet Explorer 5 и 6 до обновления безопасности MS04-004. См. <URL:support.microsoft.com/kb/834489>.

Константы

COMPONENT

Array доступных компонентов для Bundler::URI::HTTP.

DEFAULT_PORT

Порт по умолчанию 80 для Bundler::URI::HTTP.

Публичные методы класса

build(args) Показать исходный код
# File lib/bundler/vendor/uri/lib/uri/http.rb, line 60
def self.build(args)
  tmp = Util.make_components_hash(self, args)
  super(tmp)
end

Описание

Создает новый объект Bundler::URI::HTTP из компонентов с проверкой синтаксиса.

Принимаемые компоненты: userinfo, host, port, path, query и fragment.

Компоненты должны быть предоставлены либо в виде Array, либо в виде Hash с ключами, образованными путем добавления префикса «двоеточие» к именам компонентов.

Если используется Array, компоненты должны передаваться в порядке [userinfo, host, port, path, query, fragment].

Пример:

uri = Bundler::URI::HTTP.build(host: 'www.example.com', path: '/foo/bar')

uri = Bundler::URI::HTTP.build([nil, "www.example.com", nil, "/path",
  "query", 'fragment'])

В настоящее время, если переданы компоненты userinfo, этот метод генерирует некорректные HTTP URI в соответствии с RFC 1738.

Вызывает метод суперкласса Bundler::URI::Generic::build

Публичные методы экземпляра

request_uri() Показать исходный код
# File lib/bundler/vendor/uri/lib/uri/http.rb, line 78
def request_uri
  return unless @path

  url = @query ? "#@path?#@query" : @path.dup
  url.start_with?(?/.freeze) ? url : ?/ + url
end

Описание

Возвращает полный путь для запроса HTTP, как требуется Net::HTTP::Get.

Если Bundler::URI содержит параметр запроса, полный путь — это Bundler::URI#path + '?' + Bundler::URI#query. В противном случае путь — это просто Bundler::URI#path.

Пример:

uri = Bundler::URI::HTTP.build(path: '/foo/bar', query: 'test=true')
uri.request_uri #  => "/foo/bar?test=true"

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