класс URI::WS
Синтаксис WS URI определён в разделе 3 RFC6455.
Обратите внимание, что библиотека Ruby URI допускает WS URL, содержащие имена пользователей и пароли. Это не соответствует RFC, но раньше поддерживалось в Internet Explorer 5 и 6 до обновления системы безопасности MS04-004. См. <URL:support.microsoft.com/kb/834489>.
Константы
Публичные методы класса
# File lib/uri/ws.rb, line 56 def self.build(args) tmp = Util.make_components_hash(self, args) super(tmp) end
Описание
Создаёт новый объект URI::WS из компонентов с проверкой синтаксиса.
Принимаемые компоненты: userinfo, host, port, path и query.
Компоненты должны быть предоставлены либо в виде массива, либо в виде хэша с ключами, образованными путём добавления префикса двоеточия к именам компонентов.
Если используется массив, компоненты должны быть переданы в порядке [userinfo, host, port, path, query].
Пример:
uri = URI::WS.build(host: 'www.example.com', path: '/foo/bar') uri = URI::WS.build([nil, "www.example.com", nil, "/path", "query"])
В настоящее время, если переданы компоненты userinfo, этот метод генерирует невалидные WS URI в соответствии с RFC 1738.
URI::Generic::build Публичные методы экземпляра
# File lib/uri/ws.rb, line 74 def request_uri return unless @path url = @query ? "#@path?#@query" : @path.dup url.start_with?(?/.freeze) ? url : ?/ + url end
Описание
Возвращает полный путь для WS URI, как требуется Net::HTTP::Get.
Если URI содержит параметр запроса, полный путь — URI#path + '?' + URI#query. В противном случае, путь — просто URI#path.
Пример:
uri = URI::WS.build(path: '/foo/bar', query: 'test=true') uri.request_uri # => "/foo/bar?test=true"
Ruby Core © 1993–2020 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.