modul Net::HTTPHeader

Das Modul HTTPHeader bietet Zugriff auf HTTP-Header.

Das Modul ist in

Die Header sind eine Hash-ähnliche Sammlung von Schlüssel/Wert-Paaren, die als Felder bezeichnet werden.

Anforderungs- und Antwortfelder

Header können enthalten sein in

Welche Felder gesendet oder erwartet werden, hängt vom Host ab; siehe

Über die Beispiele

Die hier angenommenen Codebeispiele erfordern, dass net/http geladen wurde (was auch uri lädt)

require 'net/http'

Viele Codebeispiele hier verwenden diese Beispiel-Websites

Einige Beispiele gehen auch von diesen Variablen aus

uri = URI('https://jsonplaceholder.typicode.com/')
uri.freeze # Examples may not modify.
hostname = uri.hostname # => "jsonplaceholder.typicode.com"
path = uri.path         # => "/"
port = uri.port         # => 443

So dass Beispielanfragen geschrieben werden können als

Net::HTTP.get(uri)
Net::HTTP.get(hostname, '/index.html')
Net::HTTP.start(hostname) do |http|
  http.get('/todos/1')
  http.get('/todos/2')
end

Ein Beispiel, das eine modifizierte URI benötigt, dupliziert zuerst uri und modifiziert dann die Kopie

_uri = uri.dup
_uri.path = '/todos/1'

Felder

Ein Header-Feld ist ein Schlüssel/Wert-Paar.

Feldschlüssel

Ein Feldschlüssel kann sein

Beispiele

req = Net::HTTP::Get.new(uri)
req[:accept]  # => "*/*"
req['Accept'] # => "*/*"
req['ACCEPT'] # => "*/*"

req['accept'] = 'text/html'
req[:accept] = 'text/html'
req['ACCEPT'] = 'text/html'

Feldwerte

Ein Feldwert kann als Array von Strings oder als String zurückgegeben werden.

Der Feldwert kann gesetzt werden

Beispiel für Feldwerte

Komfortmethoden

Verschiedene Komfortmethoden rufen Werte ab, setzen Werte, fragen Werte ab, setzen Formulardaten oder iterieren über Felder.

Setter

Die Methode []= kann jedes Feld setzen, validiert aber den neuen Wert kaum; einige der anderen Setter-Methoden bieten eine gewisse Validierung.

Formular-Setter

Getter

Die Methode [] kann den Wert jedes vorhandenen Feldes abrufen, aber immer als String; einige der anderen Getter-Methoden geben etwas anderes als den einfachen String-Wert zurück.

Abfragen

Iteratoren