Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 2 Nächste Version anzeigen »

Eine Übersicht über alle bereitgestellten Script-Bibliotheken finden Sie hier: Lua-Scripts - bereitgestellte Script-Bibliotheken

fetch

Fetch erlaubt die Ausführung von http(s) Requests.

fetch(request: RequestOptions|string): Response

fetch ist ein Alias auf fetch.fetch(...)

fetch.fetch(request: RequestOptions|string): Response

RequestOptions ist entweder

  • eine URL als Zeichenkette, in dem Fall wird ein GET Request auf die URL ausgeführt.
  • eine Tabelle mit den folgenden Eigenschaften:
    • url(string): Die URL als Zeichenkette an welche der Request gesendet wird.
    • method(string): Die Methode mit der der Request abgesendet wird. Erlaubte Werte "GET", "POST", "PUT", "PATCH", "DELETE". Standardwert wenn nicht angegeben: GET. "OPTIONS" & "HEAD" werden aktuell absichtlich nicht unterstützt.
    • headers(string): Eine Tabelle aus Strings, wobei der Schlüssen der Name des Headers ist und der Wert der Wert des Headers. Invalide Header führen zum Abbruch des Requests. Aus Sicherheitsgründen akzeptieren wir nur die Header accept, authorization, content-type & cache-control. Wenn beim Testen auffällt, das weitere Header benötigt werden: aufschreiben!
    • body(string): Der Inhalt des Requests.
    • follow_redirects(bool): Wenn true wird bei 301/302 Umleitungen der neuen URL gefolgt. Wir unterstützen eine maximale Anzahl von 5 Umleitungen. Wenn false wird die Antwort des Requests unabhängig vom Status Code zurückgegeben. Standardwert: true
    • timeout(number): Dauer in Millisekunden nach der der Request abgebrochen werden soll. Sollte der Wert höher als das von Divera gesetzte Limit sein, wird er Ignoriert.
    • disable_certificate_validation(bool): Wenn gesetzt wird das Zertifikat bei HTTPS Requests nicht geprüft, nur zur Nutzung mit selbst signierten Zertifikaten gedacht. Standardwert: false.

Die URL ist das einzige Pflichtfeld.

Beispiel eines Requests
local  fetch = require("fetch")
local response = fetch({
  url = "https://webhook.site/", -- TODO: 'ne URL mit ID einfügen oder noch besser: Als Formular Feld konfigurierbar machen.
  method = "POST",
  headers = {
    ["content-type"] = "text/plain"
  },
  body = "Test eines POST Requests im User-Script mit fetch.fetch"
}) 

fetch.get(url: string, options: RequestOptions | nil): Response

Shortcut für GET-Requests. options ist eine optionale Tabelle mit den möglichen Eigenschaften headers, follow_redirects, timeout und disable_certificate_validation. Die Bedeutung der Eigenschaften ist im Abschnitt fetch.fetch erklärt.

Beispiel eines GET-Requests
local fetch = require("fetch")
local response = fetch.get("https://v2.jokeapi.dev/joke/Any?lang=de&format=txt&type=single&safe-mode")

print(response.body)

fetch.post(url: string, payload: { data: string, contentType: string }, options: RequestOptions)

Das Argument payload enthält die Eigenschaften

  • contentType: Der Content-Type Header als Shortcut.
  • data: Die im Request als Body übergebenen Daten.

Das Argument options ist im Abschnitt fetch.get erklärt.

Beispiel eines POST-Requests
local fetch = require("fetch")
local response = fetch.post(
  "https://webhook.site/...", -- TODO: URL mit ID einfügen oder besser: Im Formular als Feld einfügen
  { 
    contentType = "application/json", 
    data = "Test eines POST Request im User-Script mit fetch.post"
  }
)
  

fetch.put(url: string, payload: { data: string, contentType: string }, options: RequestOptions)

Die Argumente sind die selben wie bei fetch.post und dort erklärt.

fetch.patch(url: string, payload: { data: string, contentType: string }, options: RequestOptions)

Die Argumente sind die selben wie bei fetch.post und dort erklärt.

fetch.delete(url: string, payload: { data: string, contentType: string }, options: RequestOptions)

Die Argumente sind die selben wie bei fetch.post und dort erklärt.

Verwandte Artikel

  • Keine Stichwörter