The HTTP Client Function enables communication with a third-party HTTP server. Using it stream editors can control outgoing requests handling. This Function supports REST API and also supports authentication via the OAuth 2.0 framework. The following HTTP Client Functions are available in Usage Engine:
...
The options specific to each of the 3 Functions, whether it is for Collector, Processor or Forwarder, will be mentioned in their corresponding sections at the end of this page.
Parameters
Under Parameters, you get the Connection and Operational Settings that are applicable to HTTP Client Collectors, Processors, and Forwarders.
Connection
Depending on the users' configuration, two authentication methods are available: Basic authentication and OAuth 2.0 implementation. A selectable option from the Authentication type is used to make the selection and based on that separate configuration options are available. There will be additional options in the Configuration tab for the Authentication type selected.
Basic Authentication
- Add the Username and Password if there are any. These options can be left empty.
- Add the Target URL of the HTTP request to be made to the HTTP server.
In the Configuration tab, select an HTTP request method from the following options:
HTTP Method Description GET Requests data from the target server POST Sends data to the target server. Select either Body or Form under Content* PUT Replaces the current resources of the target URL with the uploaded content. Select either Body or Form under Content* PATCH Updates partial resources of the target URL. Select either Body or Form under Content* DELETE Removes all current representations of the target resource Note title URL Entry Cloud Edition interprets only a single forward slash in the URL fields. Make sure that you format the URLs accordingly.
Note title Note! *The Body and Form fields are visible only for request methods POST, PUT and PATCH.
- Select Body or Form and add the corresponding details in the content of the request message. You can use Variable Insertion.
- Expand the examples below to view samples of HTTP request messages for Body or Form:
Note title Note! The form input needs to be URL encoded, otherwise, it fails.
HTTP requests use a hardcoded content-type value of ‘application/x-www-form-urlencoded’.
Expand title Sample of an HTTP body content message No Format { "name" : "my_username", "first-name" : "My", "last-name" : "Username", "display-name" : "My Username", "email" : "user@example.test", "active" : true }
Expand title Sample of an HTTP form content message No Format name=my_username&first-name=My&last-name=Username&display-name=My%20Username&email=user@example.test&active=true
- Select Body or Form and add the corresponding details in the content of the request message. You can use Variable Insertion.
In Target URL, enter the URL of the target HTTP server. You can use Variable Insertion. You can select a combination of the following options to be included in the URL:
Option Description Include basic access authentication credentials Select to add the specified username and password Include query string in URL Select to include a query string in the URL. Add a key and its corresponding value. You can include multiple query strings. Customize header Select to customize the headers of the URL and specify multiple keys and their respective values.
The default value for the HTTP headers “content-type” and “accept” is application/json.
You can override the default value for HTTP header “content-type”.
It is recommended that the default value for HTTP header "accept" is left unchanged. The HTTP Functions only support application/json.
OAuth 2.0 Authorization
The HTTP Method, Target URL, and associated options are configured in the same way. When the Authentication type selection is selected as OAuth 2.0 additional options are displayed. Their configuration is mandatory to properly activate the Function.
...
The Configure Token section of the Function controls the authentication token credentials. The Header Prefix field is the Authorization header placed before the access token. Based on the Grant Type selection there are two types of credentials access provided for the authentication provisions – Password and Client credentials. Each of them has a distinctive configuration option.
Password Credentials Grant Type Options
- Access Token URL – In this field specify the URL containing the authorization token.
- Client ID – In this field enter the client identifier.
- Client Secret – in this field enter the associated client secret. This parameter may be omitted if the client secret is an empty string.
- Username – This field is used to specify the relevant username, it is mandatory.
- Password – This field is used to specify the password associated with the username, it is mandatory.
- Scope – The authorization and token endpoints allow the client to specify the access request scope using this parameter. The entered value must be expressed as a list of space-delimited, case-sensitive strings. This is an optional parameter.
- Client Authentication – This option controls the type of authentication mechanism as defined by the connecting server – Auth Header or Auth Body are available. The options are named "Send as Basic Auth Header" and "Send client credentials in body".
Client Credentials Grant Type Options
- Access Token URL – In this field specify the URL containing the authorization token.
- Client ID – In this field enter the client identifier.
- Client Secret – in this field enter the associated client secret. This parameter may be omitted if the client secret is an empty string.
- Scope – The authorization and token endpoints allow the client to specify the access request scope using this parameter. The entered value must be expressed as a list of space-delimited, case-sensitive strings. This is an optional parameter.
- Client Authentication – This option controls the type of authentication mechanism as defined by the connecting server – Auth Header or Auth Body are available. The options are named "Send as Basic Auth Header" and "Send client credentials in body".
...
- Include query string in URL – This enables a query string in the token URL.
- Customize header - This allows for custom headers to be specified.
Operational Settings
In Operational Settings, enter the following details that determine how you want to handle the errors. The following options are available for HTTP Collector and Processor Functions only:
...
Note | ||
---|---|---|
| ||
By enabling response headers, the overall data size of the HTTP packets will also increase. Caching of the body checkbox is tied to the headers. This option is available only for the HTTP Client collector and the HTTP Client Processor. |
HTTP Client Collector
The HTTP Client collector Function collects data from a third-party HTTP server.
...
In Request run limit, specify the number of times the operation should run.
HTTP Client Processor
The HTTP Client processor Function processes the data received from a third-party HTTP server.
...
- Select Enable data cache if you want to store information received in response to an HTTP request in the cache. You can assign a key to the response stored in the cache. In this case, whenever you send the same HTTP request, the response is fetched from the cache. This helps in the faster turnaround time. Enter the following details:
- In Response key, assign a cache key to the response to an HTTP request. By default, it is the URL that you specify in Target URL.
- In Clear cache after, specify the duration (in seconds) after which the response is removed from the cache. The duration must be greater than zero. The default duration is 300 seconds.
Preview Function Toggle
This Function is available only in the Client Processor node. Below the Advanced Settings dropdown menu, a preview toggle (“Enable preview for this function”) can be enabled or disabled.
...
Note |
---|
This feature is available only for certain accounts. |
HTTP Client Forwarder
Select this Function to send data to the third-party HTTP server.
...