class URI::WS
Die Syntax von WS URIs ist in RFC6455 Abschnitt 3 definiert.
Beachten Sie, dass die Ruby URI Bibliothek WS URLs erlaubt, die Benutzernamen und Passwörter enthalten. Dies ist gemäß der RFC nicht legal, wurde aber in Internet Explorer 5 und 6 vor dem Sicherheitsupdate MS04-004 unterstützt. Siehe <URL:support.microsoft.com/kb/834489>.
Constants
Öffentliche Klassenmethoden
Source
# File lib/uri/ws.rb, line 56 def self.build(args) tmp = Util.make_components_hash(self, args) super(tmp) end
Beschreibung
Erstellt ein neues URI::WS Objekt aus Komponenten, mit Syntaxprüfung.
Die akzeptierten Komponenten sind userinfo, host, port, path und query.
Die Komponenten sollten entweder als Array oder als Hash mit Schlüsseln bereitgestellt werden, die durch Voranstellen eines Doppelpunkts vor die Komponentennamen gebildet werden.
Wenn ein Array verwendet wird, müssen die Komponenten in der Reihenfolge [userinfo, host, port, path, query] übergeben werden.
Beispiel
uri = URI::WS.build(host: 'www.example.com', path: '/foo/bar') uri = URI::WS.build([nil, "www.example.com", nil, "/path", "query"])
Derzeit generiert diese Methode bei Übergabe von userinfo-Komponenten ungültige WS URIs gemäß RFC 1738.
URI::Generic::build auf.Öffentliche Instanzmethoden
Source
# 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
Beschreibung
Gibt den vollständigen Pfad für eine WS URI zurück, wie von Net::HTTP::Get gefordert.
Wenn die URI eine Abfrage enthält, ist der vollständige Pfad URI#path + ‘?’ + URI#query. Andernfalls ist der Pfad einfach URI#path.
Beispiel
uri = URI::WS.build(path: '/foo/bar', query: 'test=true') uri.request_uri # => "/foo/bar?test=true"