HTTP Request (Action)

Event action – Abstract

Purpose: This event action executes an HTTP request with a supported method (GET, POST, PUT, PATCH, DELETE) and grants access to the response.

images/download/attachments/189457412/image-2025-1-22_14-39-0-version-1-modificationdate-1737553139939-api-v2.png

The HTTP Request (Action) event action executes an HTTP request for a supported Method (GET , POST , PUT,PATCH, DELETE), taking into account the other configured parameters (see 'Configuration' for more details).

  • The URL must contain a protocol (e.g. https) and a web address that can be resolved by the Lobster Data Platform / Orchestration server.

    • The URL and Query parameters are located in the header area of an Expandable element, whose detail area (shown expanded in the screenshot above) contains further parameters (see ‘Configuration’ for more details).

  • From a technical point of view, specifying a string for the Query parameter is optional. It enables value assignments to URL parameters that are taken into account according to the syntax of the Method.

  • The Request Header and Payload parameters define the header and any ‘payload’ to be transmitted for the request (see ‘Configuration’ for more details).

If the URL can be resolved and the addressed server responds, the response is prepared as follows:

  • A data object of the ‘Storage’ (Storage) type is generated from header information, which is stored in the httpResponseHeaders Variable by default (see Response Headers parameter of the response).

  • A data object of the ‘Content’ (Content) type is generated from the body that may be provided depending on the selected Method, which is saved in the httpResponseContent Variable by default (see Response Content parameter).

Configuration

The HTTP Request (Action) event action does not expect a specific reference object. However, value configurations for parameters can access the applicable reference object.

All parameters can be defined by value configurations if required. If a static value is configured (see Static values) and the relevant form element is displayed in conjunction with a small grey arrow (bottom left), this must be clicked on to switch to the value configuration.

Parameter

Data type

Default value

Usage

Method

Text (String)

GET

The text value for the Method, which can either be entered directly or determined dynamically via a value configuration at runtime, must correspond exactly to the name of one of the supported HTTP Methods.

The event action only supports the HTTP methods in the following whitelist:

  • GET ... requests data for a resource specified by URL and possibly any Query.

  • POST ... Sends the Payload data to the URL and any Query specified resource.

  • PUT ... sends Payload data with which the resource specified by URL and any Query is created or updated.

  • PATCH ... sends Payload data with which the properties of the resource specified by URL and any Query is updated.

  • DELETE ... deletes the resource specified by URL and any Query.

This positive list could be expanded in future versions.


IMPORTANT◄ In many cases, an unsuitable input/configuration for the ‘Method’ parameter does not generate an error message because GET is executed as a fallback.


The following rules apply to the interpretation of text values for the Method parameter:

  1. The text value is not trimmed.

  2. The text value is compared with the positive list, which only uses capital letters, taking upper/lower case into account.

  3. If the comparison with the positive list does not return a match, the default value GET is used as the Method.

The following examples illustrate the potential effects:

  • If a blank space is accidentally added when entering the method directly (e.g. ‘POST ' instead of 'POST’), a GET call is made with the URL and possibly Query parameters, but without Payload.

  • If an error occurs when trying to address the POST method with different upper/lower case letters by Post, a GET call (without Payload) is executed instead.

  • If an error occurs when trying to execute a correctly addressed method that is not supported by the event action (e.g. HEAD), a GET call is made instead.

    • If the resource addressed by URL and possibly Query supports GET calls, the response may be very extensive, which is typically avoided with the HEAD method.

    • Whether the addressed resource supports the HEAD method at all is irrelevant. It is also not executed.

  • If there is ‘No value‘ ($null) or an empty string (’'), the event action is not ineffective. Rather, a GET call is also executed.

URL

Text (String)

No value

The text value for the URL, which can be entered directly or determined dynamically via a value configuration at runtime, must specify the protocol to be used (e.g. http or https) before the path follows in the applicable syntax.


NOTE◄ If the HTTP request uses URL parameters, the complete HTTP query string must be defined via the Query parameter. If the string for the URL contains an HTTP query string, this is ignored.

Query

Text (String)

No value

A text value can optionally be provided in the Query parameter, either by direct input or dynamically determined at runtime via a value configuration, which is attached as an HTTP query string to the string defined as the URL. The separator (?) provided in the URL syntax is inserted automatically. It should therefore not be included in either the URL string or the Query string.

The Query string can concatenate several value assignments with the <key>=<value> scheme using the & separator.

Example: The following Query string contains assignments for three parameters:

token=DEMO&region=APAC&fromDate=2025-01-01

Request Headers

Storage
(Storage)

No value

The optional value configuration for the Request Headers parameter should return a ‘Storage’ data object at runtime that contains the information for the HTTP Request Header.
NOTE◄ Instead of a ‘Storage’ (Storage) data object, the object types ‘Map’ (Map) or ‘Client Object’ (ASObject) can also be used to provide header information.

Payload

Content
(Content)

No value

The value configuration for the Payload parameter should return a ‘content’ (Content) data object at runtime, whose body field contains the actual ‘payload’ for the HTTP request.
NOTE◄ The value configuration for the Payload is technically optional. However, the Payload may be required depending on the Method (see above).

  • If the Request Header does not contain an explicit assignment for the Content-Type key, the mediaType field of the ‘Content’ object defined as the Payload is used as a fallback.

  • If the Content-Type is not defined either by the Request Headers or by the Payload, the default value application-octet-stream is assigned in the Content-Type header.


IMPORTANT◄ If the value configuration for the Payload parameter returns a type other than ‘Content’ (Content), an attempt is made to convert the return value to this type. This is possible, for example, based on a String value. However, if the return value cannot be converted to ‘Content’ (Content), an attempt is made to execute the Method without a Payload. This may cause errors.

Response Headers

Storage
(Storage)

Variable
httpResponseHeaders

The optional value configuration for the Response Headers parameter defines the target of a value assignment for the ‘Storage’ (Storage) data object generated at runtime, whose fields reflect the header information from the HTTP response. In this way, the Response Headers can be analysed after the HTTP Request (Action) event action has been executed.


IMPORTANT◄ The ‘Storage’ (Storage) object generated as the Response Headers typically contains the RESPONSE_CODE, which indicates whether the HTTP request was processed successfully or with errors. The Response Headers can be analysed further if necessary in the event of an error.


  • Fat aPer default, a variable value resolver is configured that links the Variable name httpResponseHeaders with the ‘Storage’ (Storage) type.
    NOTE◄ If the httpResponseHeaders variable already contains a value before the HTTP Request (Action) event action is executed, this is overwritten by the assignment.

  • Instead of the preconfigured variables, any other suitable target for an assignment can be configured – e.g. another Variable, an Object property or a File reference.

  • If there is no value configuration or a value configuration that is unsuitable as a target for an assignment, the Response Headers cannot be accessed after the HTTP Request (Action) event action has been executed.

Response Content

Content
(Content)

No value

The optional value configuration for the Response Content parameter defines the target of a value assignment for the ‘Content’ (Content) data object generated at runtime that maps the ‘payload’ of the Response.

  • The body field contains the actual user data as a byte array (byte[]).

  • The value in the mediaType field reflects the value for the response header Content-Type from the Response Headers.

NOTE◄ If the Show content event action is used to display the ‘Content’ object from the return value, the value in the mediaType field can be overridden if necessary to influence how the content is handled by the browser.

The following parameters are contained in the detail area of an Expandable that is collapsed by default.

HTTP Channel ID

Integer
(Long)

No value

The HTTP Channel ID parameter can be used to reference a channel created in (see Kanäle). If a value configuration exists that refers to a valid HTTP Channel ID (Long value) at runtime, the information stored there (see Eigener Zugang (Ich zum Partner)) is used to authenticate the HTTP request:

  • The value of the ‘Own ID’ field for the referenced channel is used as the user ID.

  • The value of the ‘Own password’ field for the referenced channel is used as the password.

Certificate ID

Integer
(Long)

No value

If the authentication of the HTTP requests requires your own certificate stored on the server side (see Eigene Zertifikate), this can be referenced via the Certificate ID parameter by setting up a value configuration that returns a Long value at runtime that matches the internal ID of the certificate in question.

Enable streaming

Boolean value
(Boolean)

No value

The Enable streaming option must be selected so that server-sent events (SSE) provided in response to a request can be processed individually (s. Server-sent Events (SSE) verarbeiten).

The media type (mediaType) for the Response content is always text/event-stream.

The stream of SSEs (server-sent events) can be processed after the HTTP Request (Action) has been executed by reading the httpResponseContent variable in the head of a loop. Each iteration of the loop then refers to exactly one of the events as a reference object. The Enable streaming option has the following effect:

  • If the Enable streaming option is selected, the loop waits until the server sends an event, processes it and then waits for the next one until the server closes the connection.

  • If the Enable streaming option is deselected, the loop only starts when the server has ended the connection and then processes all received events.

Via DMZ

Boolean value
(Boolean)

No value

If the Via DMZ option is selected, the HTTP request is executed via the DMZ.

The selection of the option can either be defined statically via the Check box element in the configuration or bound to a value configuration that returns a Boolean value (Boolean) at runtime.

Timeout

Integer
(Integer)

90

The Timeout parameter defines an upper limit for the runtime of the HTTP requests in seconds. A value of 90 (seconds) is assigned by default.

If the runtime of HTTP requests exceeds the limit defined by the Timeout, the execution is cancelled.

The event handling is not cancelled, however, so that the ‘Storage’ (Storage) data object generated by the Response Header can then be evaluated to determine whether a Timeout has occurred

  • In this case, the ERROR_INFO key contains an ‘error information’ (ErrorInfo) data object whose errorText field contains the text value ‘Read timed out’.

Retries

Integer
(Integer)

0

The Retries parameter defines the number of attempts to be made if the HTTP request does not return a response with a RESPONSE_CODE in the header.

  • The value 0 is assigned by default. No repeat runs are performed with this setting.