Environment-Klasse: Difference between revisions

From WaveCDN Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(68 intermediate revisions by the same user not shown)
Line 1: Line 1:
Die Environment-Klasse ist bei der [[Erweiterung schreiben|Programmierung von Erweiterungen]] relevant. Im folgenden die Dokumentation der Klasse:
Konkret handelt es sich bei der Environment-Klasse um die Python-Klasse WavecdnEnvironmentV1. Sie ist bei der [[Erweiterung schreiben|Programmierung von Erweiterungen]] relevant. Im folgenden findet sich die Dokumentation der Klassenmethoden. Die Spalte 'Verfügbarkeit' gibt die [[Anfragenmodell|Schritte der Anfragenabarbeitung]] an, in denen die jeweilige Methode verfügbar ist.


* get_client_ip(): Gibt die IP vom Webuser zurück.


* get_request_ssl(): Gibt in Form eines Boolean zurück, ob der Webuser bei der Anfrage SSL genutzt hat oder nicht.
{| class="table-wavecdn" cellspacing="0"
* get_request_method(): Gibt die Methode der Anfrage vom Webuser zurück. Zum Beispiel 'GET' oder 'POST'.
!Methode
* get_request_url(): Gibt die vom Webuser angefragte URL zurück.
!style="width:600px"|Beschreibung
* get_request_path(): Gibt die vom Webuser angefragte URL ohne Query-String zurück.
!Verfügbarkeit
* get_request_query_string(): Gibt den Query-String aus der vom Webuser angefragten URl zurück.
|-
* get_request_query_string_parameter(name): Gibt den Parameter mit dem angegebenen Namen aus dem Query-String zurück.
|get(name)
* get_request_header(name): Gibt den Request-Header mit dem angegebenen Namen zurück.
|Gibt eine die benutzerdefinierte Variable mit dem angegebenen Namen zurück. Benutzerdefinierte Variablen behalten Ihre Gültigkeit über alle Anfragenschritte hinweg. D.h. auf Variablen, die in wavecdn_receive() gesetzt wurden, können in späteren Schritten abgerufen werden.
* get_request_headers(): Gibt ein Dictionary mit den Headern der Anfrage vom Webuser zurück.
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|set(name, value)
|Setzt die benutzerdefinierte Variable mit dem angegebenen Namen und dem angegebenen Wert. Die benutzerdefinierte Variable muss nicht im selben Schritt, sondern kann auch in vorherigen Schritten gesetzt worden sein.
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|get_client_ip()
|Gibt die IP vom Webuser zurück.


* get_backend_response_header(name): Gibt den Header mit dem angegebenen Namen aus der Origin/Storage-Antwort zurück.
Zum Beispiel: '185.22.221.5'
* set_backend_response_header(name, value): Setzt den Header mit dem angegebenen Namen und Wert in der Origin/Storage-Antwort. Sinnvoll, wenn Header noch vor dem Caching hinzugefügt werden sollen.
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|get_request_ssl()
|Gibt in Form eines Boolean zurück, ob der Webuser bei der Anfrage SSL genutzt hat oder nicht.
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|get_request_method()
|Gibt die Methode der Anfrage vom Webuser zurück.


* get_response_status(): Gibt den HTTP-Code der Antwort zurück, die WaveCDN an den Webuser schicken wird.
Zum Beispiel: 'HEAD', 'GET' oder 'POST'
* get_response_header(name): Gibt den Header mit dem angegebenen Namen aus der Antwort zurück, die WaveCDN an den Webuser schicken wird.
|
* set_response_header(name, value): Setzt den Header mit dem angegebenen Namen und Wert in der Anwort, die WaveCDN an den Webuser schicken wird.
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|get_request_uri()
|Gibt die vom Webuser angefragte URI zurück.


Je nach Schritt sind bestimmte Funktionen verfügbar oder nicht.
Zum Beispiel: '/main/index.php?site=home'
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|set_request_uri(uri)
|Ändert die angefragte URI des Webusers.
|
* wavecdn_receive
|-
|get_request_path()
|Gibt die vom Webuser angefragte URL ohne Query-String zurück.
 
Zum Beispiel: '/main/index.php'
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|get_request_query_string()
|Gibt den Query-String aus der vom Webuser angefragten URL zurück. Wenn kein Query-String vorhanden ist, wird None zurückgegeben.
 
Zum Beispiel: 'site=home' oder None
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|get_request_query_string_parameters()
|Gibt ein Dictionary mit den Parametern des Query-Strings zurück. Wenn zwei Parameter den gleichen Namen haben, wird nur der erste in das Dictionary aufgenommen. Wenn kein Query-String vorhanden ist, wird ein leeres Dictionary zurückgegeben.
 
Zum Beispiel: {'site': 'home'}
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|get_request_query_string_parameter(name)
|Gibt den Wert vom Parameter mit dem angegebenen Namen aus dem Query-String zurück. Wenn es zwei Parameter mit dem angebenen Namen im Query-String gibt, wird der Wert vom ersten Parameter zurückgegeben. Wenn der angegebene Parameter nicht existiert, wird None zurückgegeben.
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|get_request_headers()
|Gibt eine Liste mit den Headern der Anfrage vom Webuser zurück.
Zum Beispiel:
[['Accept-Encoding', 'gzip'], ['Host', 'example.wavecdn.net']]
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|set_request_headers(headers)
|Ersetzt nachträglich in der Webuser-Anfrage alle Header. Der einzige Original-Header, der immer bestehen bleibt und seinen Originalwert beibehält, ist der Host-Header. Als Parameter wird eine Liste von Headern erwartet. Siehe get_request_headers() für das erwartete Format.
|
* wavecdn_receive
|-
|get_request_header(name)
|Gibt den ersten Header aus der Webuser-Anfrage zurück, der bei Ignorierung von Groß- und Kleinschreibung den gleichen Namen hat. Wenn der Header nicht existiert, wird None zurückgegeben.
|
* wavecdn_receive
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
* wavecdn_fetch
* wavecdn_deliver
|-
|set_request_header(name)
|Setzt nachträglich in der Webuser-Anfrage den Header mit dem angegebenen Namen. Alle Header, die bei Ignorierung von Groß- und Kleinschreibung den gleichen Namen haben, werden überschrieben. Am Ende gibt es genau einen Header mit dem angegebenen Namen.
|
* wavecdn_receive
|-
|unset_request_header(name)
|Entfernt nachträglich aus der Webuser-Anfrage bei Ignorierung von Groß- und Kleinschreibung alle Header mit dem angegebenen Namen.
|
* wavecdn_receive
|-
|get_backend_request_headers()
|Gibt eine Liste mit den Headern aus der Anfrage zurück, die WaveCDN an das Backend (Origin/Storage) schicken wird. Standardmäßig handelt es sich hierbei fast ausschließlich um die Header der Webuser-Anfrage, die auch für die Anfrage an das Backend verwendet werden.
 
Zum Beispiel: [['Accept-Encoding', 'gzip'], ['Host', 'example.wavecdn.net']]
|
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
|-
|set_backend_request_headers(headers)
|Ersetzt in der Anfrage, die WaveCDN an das Backend (Origin/Storagen) schicken wird, alle Header. Als Parameter wird eine Liste von Headern erwartet.
|
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
|-
|get_backend_request_header(name)
|Gibt den Header mit dem angegebenen Namen aus Anfrage zurück, die WaveCDN an das Backend (Origin/Storage) schicken wird. Wenn der Header nicht existiert, wird None zurückgegeben.
|
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
|-
|set_backend_request_header(name, value)
|Setzt den Header mit dem angegebenen Namen und Wert in der Anfrage, die WaveCDn an das Backend (Origin/Storage) schicken wird.
|
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
|-
|unset_backend_request_header(name)
|Entfernt aus der Anfrage, die WaveCDN an das Backend schicken wird, bei Ignorierung von Groß- und Kleinschreibung alle Header mit dem angegebenen Namen.
|
* wavecdn_hit
* wavecdn_miss
* wavecdn_pass
|-
|get_backend_response_headers()
|Gibt eine Liste mit den Headern aus der Origin/Storage-Antwort zurück.
 
Zum Beispiel: [['Set-Cookie', 'sessionid=f938a47a9ef3259860a8b7c4; path=/']]
|
* wavecdn_fetch
|-
|set_backend_response_headers(headers)
|Ersetzt nachträglich in der Antwort vom Origin/Storage alle Header. Als Parameter wird eine Liste von Headern erwartet.
|
* wavecdn_fetch
|-
|get_backend_response_header(name)
|Gibt den Header mit dem angegebenen Namen aus der Origin/Storage-Antwort zurück. Wenn der Header nicht existiert, wird None zurückgegeben.
|
* wavecdn_fetch
|-
|set_backend_response_header(name, value)
|Setzt den Header mit dem angegebenen Namen und Wert in der Origin/Storage-Antwort. Sinnvoll, wenn Header noch vor dem Caching hinzugefügt werden sollen.
|
* wavecdn_fetch
|-
|unset_backend_response_header(name)
|Entfernt nachträglich aus der Origin/Storage-Antwort bei Ignorierung von Groß- und Kleinschreibung alle Header mit dem angegebenen Namen.
|
* wavecdn_fetch
|-
|get_response_headers()
|Gibt ein Dictionary mit den Headern der Antwort zurück, die WaveCDN an den Webuser schicken wird.
|
* wavecdn_deliver
|-
|set_response_headers(headers)
|Ersetzt nachträglich in der Antwort, die WaveCDN zurück an den Webuser schicken wird, alle Header. Als Parameter wird eine Liste von Headern erwartet.
|
* wavecdn_deliver
|-
|get_response_header(name)
|Gibt den Header mit dem angegebenen Namen aus der Antwort zurück, die WaveCDN an den Webuser schicken wird. Wenn der Header nicht existiert, wird None zurückgegeben.
|
* wavecdn_deliver
|-
|set_response_header(name, value)
|Setzt den Header mit dem angegebenen Namen und Wert in der Anwort, die WaveCDN an den Webuser schicken wird.
|
* wavecdn_deliver
|-
|unset_response_header(name)
|Entfernt aus der Antwort, die WaveCDN an den Webuser schicken wird, bei Ignorierung von Groß- und Kleinschreibung alle Header mit dem angegebenen Namen.
|
* wavecdn_deliver
|-
|get_response_status_code()
|Gibt den HTTP-Code der Antwort zurück, die WaveCDN an den Webuser schicken wird. Es handelt sich dabei um einen Integer.
|
* wavecdn_deliver
|-
|set_response_status_code(code)
|Setzt den HTTP-Code der Antwort, die WaveCDN an den Webuser schicken wird. Beim Parameter muss es sich um einen Integer handeln.
|
* wavecdn_deliver
|-
|}

Latest revision as of 11:13, 21 July 2014

Konkret handelt es sich bei der Environment-Klasse um die Python-Klasse WavecdnEnvironmentV1. Sie ist bei der Programmierung von Erweiterungen relevant. Im folgenden findet sich die Dokumentation der Klassenmethoden. Die Spalte 'Verfügbarkeit' gibt die Schritte der Anfragenabarbeitung an, in denen die jeweilige Methode verfügbar ist.


Methode Beschreibung Verfügbarkeit
get(name) Gibt eine die benutzerdefinierte Variable mit dem angegebenen Namen zurück. Benutzerdefinierte Variablen behalten Ihre Gültigkeit über alle Anfragenschritte hinweg. D.h. auf Variablen, die in wavecdn_receive() gesetzt wurden, können in späteren Schritten abgerufen werden.
  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
set(name, value) Setzt die benutzerdefinierte Variable mit dem angegebenen Namen und dem angegebenen Wert. Die benutzerdefinierte Variable muss nicht im selben Schritt, sondern kann auch in vorherigen Schritten gesetzt worden sein.
  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
get_client_ip() Gibt die IP vom Webuser zurück.

Zum Beispiel: '185.22.221.5'

  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
get_request_ssl() Gibt in Form eines Boolean zurück, ob der Webuser bei der Anfrage SSL genutzt hat oder nicht.
  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
get_request_method() Gibt die Methode der Anfrage vom Webuser zurück.

Zum Beispiel: 'HEAD', 'GET' oder 'POST'

  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
get_request_uri() Gibt die vom Webuser angefragte URI zurück.

Zum Beispiel: '/main/index.php?site=home'

  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
set_request_uri(uri) Ändert die angefragte URI des Webusers.
  • wavecdn_receive
get_request_path() Gibt die vom Webuser angefragte URL ohne Query-String zurück.

Zum Beispiel: '/main/index.php'

  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
get_request_query_string() Gibt den Query-String aus der vom Webuser angefragten URL zurück. Wenn kein Query-String vorhanden ist, wird None zurückgegeben.

Zum Beispiel: 'site=home' oder None

  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
get_request_query_string_parameters() Gibt ein Dictionary mit den Parametern des Query-Strings zurück. Wenn zwei Parameter den gleichen Namen haben, wird nur der erste in das Dictionary aufgenommen. Wenn kein Query-String vorhanden ist, wird ein leeres Dictionary zurückgegeben.

Zum Beispiel: {'site': 'home'}

  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
get_request_query_string_parameter(name) Gibt den Wert vom Parameter mit dem angegebenen Namen aus dem Query-String zurück. Wenn es zwei Parameter mit dem angebenen Namen im Query-String gibt, wird der Wert vom ersten Parameter zurückgegeben. Wenn der angegebene Parameter nicht existiert, wird None zurückgegeben.
  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
get_request_headers() Gibt eine Liste mit den Headern der Anfrage vom Webuser zurück.

Zum Beispiel: [['Accept-Encoding', 'gzip'], ['Host', 'example.wavecdn.net']]

  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
set_request_headers(headers) Ersetzt nachträglich in der Webuser-Anfrage alle Header. Der einzige Original-Header, der immer bestehen bleibt und seinen Originalwert beibehält, ist der Host-Header. Als Parameter wird eine Liste von Headern erwartet. Siehe get_request_headers() für das erwartete Format.
  • wavecdn_receive
get_request_header(name) Gibt den ersten Header aus der Webuser-Anfrage zurück, der bei Ignorierung von Groß- und Kleinschreibung den gleichen Namen hat. Wenn der Header nicht existiert, wird None zurückgegeben.
  • wavecdn_receive
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
  • wavecdn_fetch
  • wavecdn_deliver
set_request_header(name) Setzt nachträglich in der Webuser-Anfrage den Header mit dem angegebenen Namen. Alle Header, die bei Ignorierung von Groß- und Kleinschreibung den gleichen Namen haben, werden überschrieben. Am Ende gibt es genau einen Header mit dem angegebenen Namen.
  • wavecdn_receive
unset_request_header(name) Entfernt nachträglich aus der Webuser-Anfrage bei Ignorierung von Groß- und Kleinschreibung alle Header mit dem angegebenen Namen.
  • wavecdn_receive
get_backend_request_headers() Gibt eine Liste mit den Headern aus der Anfrage zurück, die WaveCDN an das Backend (Origin/Storage) schicken wird. Standardmäßig handelt es sich hierbei fast ausschließlich um die Header der Webuser-Anfrage, die auch für die Anfrage an das Backend verwendet werden.

Zum Beispiel: [['Accept-Encoding', 'gzip'], ['Host', 'example.wavecdn.net']]

  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
set_backend_request_headers(headers) Ersetzt in der Anfrage, die WaveCDN an das Backend (Origin/Storagen) schicken wird, alle Header. Als Parameter wird eine Liste von Headern erwartet.
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
get_backend_request_header(name) Gibt den Header mit dem angegebenen Namen aus Anfrage zurück, die WaveCDN an das Backend (Origin/Storage) schicken wird. Wenn der Header nicht existiert, wird None zurückgegeben.
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
set_backend_request_header(name, value) Setzt den Header mit dem angegebenen Namen und Wert in der Anfrage, die WaveCDn an das Backend (Origin/Storage) schicken wird.
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
unset_backend_request_header(name) Entfernt aus der Anfrage, die WaveCDN an das Backend schicken wird, bei Ignorierung von Groß- und Kleinschreibung alle Header mit dem angegebenen Namen.
  • wavecdn_hit
  • wavecdn_miss
  • wavecdn_pass
get_backend_response_headers() Gibt eine Liste mit den Headern aus der Origin/Storage-Antwort zurück.

Zum Beispiel: [['Set-Cookie', 'sessionid=f938a47a9ef3259860a8b7c4; path=/']]

  • wavecdn_fetch
set_backend_response_headers(headers) Ersetzt nachträglich in der Antwort vom Origin/Storage alle Header. Als Parameter wird eine Liste von Headern erwartet.
  • wavecdn_fetch
get_backend_response_header(name) Gibt den Header mit dem angegebenen Namen aus der Origin/Storage-Antwort zurück. Wenn der Header nicht existiert, wird None zurückgegeben.
  • wavecdn_fetch
set_backend_response_header(name, value) Setzt den Header mit dem angegebenen Namen und Wert in der Origin/Storage-Antwort. Sinnvoll, wenn Header noch vor dem Caching hinzugefügt werden sollen.
  • wavecdn_fetch
unset_backend_response_header(name) Entfernt nachträglich aus der Origin/Storage-Antwort bei Ignorierung von Groß- und Kleinschreibung alle Header mit dem angegebenen Namen.
  • wavecdn_fetch
get_response_headers() Gibt ein Dictionary mit den Headern der Antwort zurück, die WaveCDN an den Webuser schicken wird.
  • wavecdn_deliver
set_response_headers(headers) Ersetzt nachträglich in der Antwort, die WaveCDN zurück an den Webuser schicken wird, alle Header. Als Parameter wird eine Liste von Headern erwartet.
  • wavecdn_deliver
get_response_header(name) Gibt den Header mit dem angegebenen Namen aus der Antwort zurück, die WaveCDN an den Webuser schicken wird. Wenn der Header nicht existiert, wird None zurückgegeben.
  • wavecdn_deliver
set_response_header(name, value) Setzt den Header mit dem angegebenen Namen und Wert in der Anwort, die WaveCDN an den Webuser schicken wird.
  • wavecdn_deliver
unset_response_header(name) Entfernt aus der Antwort, die WaveCDN an den Webuser schicken wird, bei Ignorierung von Groß- und Kleinschreibung alle Header mit dem angegebenen Namen.
  • wavecdn_deliver
get_response_status_code() Gibt den HTTP-Code der Antwort zurück, die WaveCDN an den Webuser schicken wird. Es handelt sich dabei um einen Integer.
  • wavecdn_deliver
set_response_status_code(code) Setzt den HTTP-Code der Antwort, die WaveCDN an den Webuser schicken wird. Beim Parameter muss es sich um einen Integer handeln.
  • wavecdn_deliver