APIRequest

Kurzbeschreibung

APIRequest ist ein Inlet Brick. Er registriert sich bei dem Endpoint-Provider, um dort einen Endpoint zu anzulegen. Requests die an diesen Endpoint gehen, werden vom Endpoint-Provider weitergeleitet.

../_images/apirequest.svg

Output

APIRequest besitzt einen Output-Port.

  Request = {
    "RequestId" -> string,
    "Header" -> <string -> variant>,
    "Request" -> < string -> variant>
};

RequestId ist die Identifikationsnummer der Anfrage. Sie wird vom Endpoint-Provider vergeben. Request der Inhalt der Anfrage.

Parametrisierung

APIRequest besitzt folgende Parameter:

  • Token

  • Endpoint

  • EndpointID

  • Method

Alle Parameter sind nicht direkt durch den Nutzer konfigurierbar. Sie werden automatisch vom FlowManager gesetzt, abhängig davon, welche vom Nutzer angelegte API und welcher Endpoint gewählt werden.

Token

Token ist ein Authentifizierungstoken. Dieser ist optional. Wird Token gesetzt, so wird Nachricht nur in den Flow geleitet, wenn die Anfrage das Flag mit Authorization: <Token> verwendet.

  • Standardwert : ``

  • secret

Method

Method ist die Request Methode.

  • Standardwert : ``

  • string

Endpoint

Endpoint ist der Pfad des Requests HOST:PORT/endpoint.

  • Standardwert : ``

  • string

EndpointID

EndpointID ist ein Hilfsparameter, der dem FlowManager erlaubt Neu- von Umkonfigurationen zu unterscheiden.

  • Standardwert : ``

  • string

Funktion

APIRequest kommuniziert mit dem Endpoint-Provider mittels zmq. Zu erst registriert sich APIRequest bei dem Endpoint-Provider mit den folgenden Informationen: Endpoint und Token. Anschließend werden die Anfragen unter HOST:PORT/endpoint an APIRequest weitergeleitet. Wurde Token gesetzt, so muss die Nachricht im http-Kopf das folgende Argument beinhalten: Authorization: <Token>. Sonst werden die Nachrichten nicht weitergeleitet. http-Anfragen, die nicht die konfigurierten Methoden verwenden, werden abgelehnt. Sollte der Endpoint-Provider nicht funktionieren, schaltet sich APIRequest ab.

Python-Module

APIRequest benutzt folgende Python-Module:

  • zmq