HSL 2.0-Framework Beschreibung des Frameworks

Öffentliche Methoden | Aufstellung aller Elemente
hsl20_4_http_client.hsl20_4_http_client.Client Klassenreferenz

Alle Methoden des HTTP-Clients. Mehr ...

## Öffentliche Methoden
def | __init__ (self, framework, context_map)
| Konstruktor. Mehr ...
def | set_url (self, method, url, http_version=1)
| Setzt die URL, die aufgerufen werden soll. Mehr ...
def | set_header (self, key, value)
| Setzt einen Header. Mehr ...
def | set_body (self, data, content_type=None)
| Setzt den Body. Mehr ...
def | set_on_data (self, callback)
| Legt eine Callback-Methode für die Antwort fest. Mehr ...
def | set_on_error (self, callback)
| Legt eine Callback-Methode für Fehler fest. Mehr ...
def | start_request (self)
| Startet den HTTP-Abruf. Mehr ...

## Ausführliche Beschreibung

Alle Methoden des HTTP-Clients.

Veraltet:
  Diese Klasse sollte nicht mehr eingesetzt werden. Im Beispiel https_client WebRequest wird gezeigt, wie sie durch Standardmodule von Python ersetzt werden kann.

Dient zur Kommunikation mit einer Gegenstelle per HTTP.

## Timeouts

Folgende Timeouts, bei deren Eintreten die Verbindung getrennt wird, sind zu beachten:

- Der Zeitraum zwischen zwei empfangenen Paketen ist größer als 15 Sekunden
- Seit Aufbau der Verbindung sind mehr als 30 Sekunden vergangen und der Header wurde noch nicht korrekt gesendet

class mein_demo_modul(hsl20_4.BaseModule):
...
def get_demo_page(self):
client = self.FRAMEWORK.create_http_client()
client.set_url("GET", "http://www.example.net/")
client.set_on_data(self.on_example_data)
client.start_request()
def on_example_data(self, http_response):
if http_response.get_status_code()==200:
# Antwort auswerten

Zu beachten
  Die Klasse arbeitet asynchron. Keine der angebotenen Methoden blockiert.

## Beschreibung der Konstruktoren und Destruktoren

## ◆ __init__()

def hsl20_4_http_client.hsl20_4_http_client.Client.__init__ | ( |  | self,
|  |  | framework,
|  |  | context_map
| ) |  |

Konstruktor.

Warnung
  Diese Klasse sollte nicht direkt instanziert werden.

## Dokumentation der Elementfunktionen

## ◆ set_body()

def hsl20_4_http_client.hsl20_4_http_client.Client.set_body | ( |  | self,
|  |  | data,
|  |  | content_type = `None`
| ) |  |

Setzt den Body.

Wird nur bei z.B. POST und GET benötigt. Die Methode setzt außerdem den HTTP-Header "Content-length" auf Basis der unter data übergebenen Daten.

Parameter

  data | string Daten
  content_type | string Optional, setzt im Header den Content-Type der zu übermittelnden Daten (default: None) Hinweis zum default-Wert von Parameter content_type hinzugefügt

## ◆ set_header()

def hsl20_4_http_client.hsl20_4_http_client.Client.set_header | ( |  | self,
|  |  | key,
|  |  | value
| ) |  |

Setzt einen Header.

Zum Beispiel: `set_header("Content-type", "text/html")`
Es können mehrere Header definiert werden.

Parameter

  key | string Schlüssel des Headers
  value | string Wert

## ◆ set_on_data()

def hsl20_4_http_client.hsl20_4_http_client.Client.set_on_data | ( |  | self,
|  |  | callback
| ) |  |

Legt eine Callback-Methode für die Antwort fest.

Die Methode wird aufgerufen, wenn die Gegenstelle die Anfrage vollständig beantwortet hat, oder wenn ein Fehler aufgetreten ist.

Die Callback-Methode benötigt folgende Parameter:

- response hsl20_4_http_client.hsl20_4_http_client.Response
  Response-Objekt. Enthält die Antwort-Daten der Gegenstelle.

Parameter

  callback | function Callback-Methode

## ◆ set_on_error()

def hsl20_4_http_client.hsl20_4_http_client.Client.set_on_error | ( |  | self,
|  |  | callback
| ) |  |

Legt eine Callback-Methode für Fehler fest.

Die Callback-Methode wird aufgerufen, wenn während der Kommunikation ein Fehler oder Timeout aufgetreten ist.

Die Callback-Methode benötigt folgende Parameter:

- exception exception
  Die aufgetretene Exception. Liefert None, wenn ein unbekannter Fehler aufgetreten ist.

Parameter

  callback | function Callback-Methode

## ◆ set_url()

def hsl20_4_http_client.hsl20_4_http_client.Client.set_url | ( |  | self,
|  |  | method,
|  |  | url,
|  |  | http_version = `1`
| ) |  |

Setzt die URL, die aufgerufen werden soll.

Parameter

  method | string Abruf-Methode, die für die URL verwendet werden soll (z.B. GET).
  url | string URL (z.B. http://www.example.net/)
  http_version | int Optional. HTTP-Version. 1 => HTTP/1.0 (default) 2 => HTTP/1.1

Zu beachten
  Die übergebende URL muss korrekt kodiert sein.

Ausnahmebehandlung

  ValueError | Wird ausgelöst, wenn eine ungültige URL übergeben wurde.
  ValueError | Wird ausgelöst, wenn eine ungültige HTTP-Version übergeben wurde.

## ◆ start_request()

def hsl20_4_http_client.hsl20_4_http_client.Client.start_request | ( |  | self | ) |

Startet den HTTP-Abruf.

Löst eine Exception aus, wenn nicht alle für den Abruf benötigten Attribute gesetzt wurden.

Ausnahmebehandlung

  AttributeError | Löst eine Exception aus, wenn nicht alle für den Abruf benötigten Attribute gesetzt wurden.
  RuntimeError | Löst eine Exception aus, wenn der Hostname nicht aufgelöst werden konnte.
  RuntimeError | Löst eine Exception aus, wenn die Methode bereits aufgerufen wurde.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

- hsl20_4_http_client.py