HTTP Client
Overview
The HTTP Client Snap is an advanced REST Snap that enables you to send HTTP requests to a server and receive corresponding HTTP responses. It integrates all commonly used HTTP methods, including DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, and TRACE. This Snap allows 50 concurrent connections per route and a total of 500 connections in the pool for all routes.
-
The Apache HTTP client5 library strictly follows RFC 3986. According to Section 2.2 of the RFC, all reserved characters in the URI path must be encoded.
-
SnapLogic no longer supports a shared connection pool across Snaps when using the HTTP Client Snap. Instead, each Snap now maintains its own dedicated connection pool. This change ensures that SSL certificates are isolated per Snap, following the best practices recommended by Apache HttpClient 5.
We recommend that you configure a separate account for each HTTP Client Snap to avoid connection or certificate conflicts.

When integrating APIs and services, you can use either the HTTP Client Snap or the REST Snap Pack Snaps. While both Snaps facilitate HTTP requests, the HTTP Client Snap offers multiple benefits. We highly recommend that you use the HTTP Client Snap instead of the REST Snap Pack Snaps for connecting to REST-based APIs and applications.
Enhanced performance and efficiency
- Optimized for faster execution of HTTP requests by supporting efficient bulk processing capabilities.
- Asynchronous support for improved throughput and reduced execution time.
Learn more: Example: Example : Send records in a batch using a POST method
-
Supports advanced HTTP methods (for example, PATCH and custom methods).
-
Better handling of raw HTTP responses and non-standard API interactions with improved support for non-JSON payloads (for example, XML and multipart form-data).
Learn more: Example : Update data in the endpoint using a PATCH method
Greater flexibility and customization
-
Provides additional control over request construction and modification by supporting a wider range of authentication methods and header configurations.
-
Enables seamless integration with APIs requiring specific payload formats.
Learn more: Configure API Suite Accounts
-
Designed for complex integrations that require fine-grained control over HTTP requests.
-
Designed for scenarios where REST Snaps' predefined configurations are restrictive.
-
Useful for APIs with non-standard authentication or response structures.
Learn more: HTTP Client Examples - API Suite Snap Pack examples
Improved debugging and error handling
-
Provides detailed logging and troubleshooting options through advanced error-handling and granular retries and timeouts.
Learn more : Troubleshooting
- Supports various pagination methods:
-
Page-based pagination (page or offset parameters in the URL)
-
Cursor-based pagination (next page token or cursor from API response)
-
Header-based pagination (pagination information provided in response headers)
-
-
Dynamic token extraction: The HTTP Client Snap enables you to dynamically extract the next page token from the API response (headers, body, or even a nested field) and use it in the subsequent request. The REST Snap Pack is more rigid in handling custom pagination mechanisms.
-
Full control over API calls: You can define the pagination limit, offset, cursor, or token placement directly within the HTTP Client Snap’s request settings. This is useful when working with APIs that require non-standard pagination handling.
Transform-type Snap
Works in Ultra Tasks
Prerequisites
A valid account with the required permissions.
Behavior changes
With 4.41 GA main31019 Snap Pack version, the HTTP Client Snap that uses
reserved characters in the Request API might fail, as
HttpClient5 library encodes all the reserved characters as part of RFC 3986.
We recommend that you select the Prevent URL encoding checkbox to prevent encoding of special characters in the URL and run the pipeline.
- With the
main31019version, the HTTP Client Snap does not normalize URLs by default. If you need to normalize a URL, you must perform this as a preliminary step (by replacing double slashes with a single slash in the path) for the URL preparation process. - With the
433patches21307update, pagination evaluation occurs before sending the output to the output view. Therefore, ifsnap.out.totalCountis part of the Has next or any other pagination properties, the Snap will not include the count in the output corresponding to the request that produced the output document.
Limitations


Known issues
-
This Snap fails with the
Name may not be nullerror when the key-value pair values are empty for the x-www-form-urlencoded Entity Type. -
The AWS Signaure V4 Account does not support Virtual Private Cloud for the HTTP Client Snap.
Snap views
| View | Description | Examples of upstream and downstream Snaps |
|---|---|---|
| Input | Each input document includes one of the following:
|
|
| Output | Each output document contains one of the following:
Note:
|
|
| Error |
Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:
Learn more about Error handling in Pipelines. |
|
Snap settings
- Expression icon (
): Allows using pipeline parameters to set field values dynamically (if enabled). SnapLogic Expressions are not supported. If disabled, you can provide a static value.
- SnapGPT (
): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
- Suggestion icon (
): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
- Upload
: Uploads files. Learn more.
| Field / Field set | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Label | String | Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline. Default value: HTTP Client Example: HTTP Client |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Request Method | String/Expression/ Suggestion | Required. Specify a custom method or choose one of the
following HTTP request methods:
Example: HEAD |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| URI | String/Expression | Required. Specify the service endpoint URL of the REST
API. You can provide the URL in one of the following ways:
You can use the canonical name (CNAME) for the URI, so it's not
necessary for the URL to end with The host name in the CNAME must be equal to the bucket
name.For example:Previous URI:
The Snap finds the value at the JSON path "$.widget.id" in the input data and replaces "%s" in the URL with the value. You can connect the File Reader and JSON Parser Snaps upstream of the HTTP Client Snap and prepare the following JSON file to the File Reader Snap: [ { "widget": { "id": "111", "name": "foo" } } { "widget":
{ "id": "555", "name": "bar" } } ]
"https://www.example.com/data/v27.0/sobjects/Account"Note: The URL for
this Snap must be valid. If the URL contains any special characters, such as
!, =, %21, $, and ^, the Snap displays an
exception error. You can escape the special characters (using Using Expressions) using one of the following methods:
We recommend that you use the former (encodeURIComponent) method to escape the special characters. Default value: N/A Example: https://elastic.snaplogic.com/api/1/rest/public/runtime/snaplogic?start=1230377200000&end=1320450398700 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Query Parameters | Use this field set to add query parameters to be included in the request. This is optional and can either be defined directly in the URL, as separate parameters or both. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parameter Name | String/Expression | Specify the name of the query parameter. Default value: N/A Example: id |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parameter Value | String/Expression | Specify the value to assign to the parameter. Default value: N/A Example: $widget.id |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| HTTP Headers | Use this field set to create the HTTP header key-value pairs required for defining the headers for different types of input (JSON, PDF, DOCX, and so on). If you want to specify only content-type headers, you can configure the Multipart Content-Type property instead. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Header Name | String/Expression/ Suggestion | Specify the name of the HTTP header. Alternatively, select one of the following
options from the suggestion list:
Note: This Snap accepts default value */*for the
Accept header that enables the Snap to handle all forms of
response content types.Default value: N/A Example: APIKeycontent-type |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Header Value | String/Expression | Specify the value for the HTTP header. Default value: N/A Example: uyfikhEugk2iKnJWPvG8Rv8sL73BgM2Capplication/json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Enable debug | Checkbox | Select this checkbox to include the information about the executed request and
response in the output document (under the_debug key that helps you
with debugging).
Note: Using debug mode increases memory usage because of the retention of
historical requests. So, for long-running or large input pipelines, we recommend
you to deselect the Enable debug checkbox to avoid memory issues. Default status: Selected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Use form encoding for spaces | Checkbox | Select this checkbox to enable the Snap to encode any space characters in query
parameters using the plus sign (+). By default, the Snap encodes space characters
using percent-encoding (%20). For example, when the base HTTP Get
URI is:
https://httpbin.org/anything/!"$%&'()*+,-.:;<+>?@[\]^_`{|}~after
encoding, the URI will be: Selecting
this checkbox preserves whatever encoding has already been made. So, if you place
a plus symbol Learn more about encoding of query parameters. Default status: Deselected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Prevent URL encoding | Checkbox | Select this checkbox to prevent the Snap from automatic URL encoding of the
input URI. Enable this setting to use an already encoded URI. Note: URL encoding
encodes the same character in different encodings based on its location within the
URL. The specific segments of the URL that apply here are the PATH portion and the
QUERY portion: URI =
scheme:[//authority][/path][?query][#fragment]When you deselect this checkbox, the following are some of the characters that are automatically encoded by the Snap:
Default status: Deselected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| HTTP Entity | An HTTP entity is the message body you can send in a request or receive from a response. An entity represents both binary and character content. The POST and PUT methods use entities. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Entity Type | Dropdown list | Choose one of the following entity types to include in the request body.
Default value: None. Example: multipart |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Multipart Subtype | String/Expression | Appears on selecting multipart for Entity Type. Specify the MIME subtype for multipart, which specifies the nature of the message parts and their interrelationship. Default value: form-data Example: form-data |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Multipart Form | Appears on selecting multipart for
Entity Type. Use this field set to configure the fields required to
upload multiple files and text. Learn more about Multipart Upload. By default, the Snap
Settings display the fields required to upload a file. The data that is sent to
the server using this entity type uses the following encoding pattern:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Type | Dropdown list | Appears on selecting multipart for Entity Type. Choose either of the
following multipart types to initiate the upload:
Default value: FILE Example: TEXT |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Key | String/Expression | Appears on selecting multipart for Entity Type. Specify the key for the multipart form-data needed to upload a file. The HTTP Client uses multipart entity to achieve the file upload. The form-data of its multipart entity contains key-value pairs. Upload and multipart file key depend on the service endpoint. Default value: N/A Example: file |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Value | String/Expression | Appears on selecting multipart for Entity Type. Specify the file or text to be uploaded. If Multipart Type is FILE, the following are applicable:
If Multipart Type is a TEXT, then:
Warning: For Text part upload using Form Upload, the HTTP
Entity and Filename to be used are ignored. Default value: N/A Example:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Content Type | String/Expression/ Suggestion | Appears on selecting multipart for Entity Type. Select
the content type headers for the data in the body of the multipart HTTP request.
Warning: If you leave this field blank or enter an incorrect content
type, some endpoints might respond with a 500 - Internal Server
Error. The available options are:
Note:
Note:
Default value: N/A Example: text/csv |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Form | Use this field set to define key-value pairs for the URL-encoded form entity type. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Key | String/Expression | Appears on selecting x-www-form-urlencoded for Entity
Type. Specify the key of the form entry. Default value: N/A Example: id |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Value | String/Expression | Appears on selecting x-www-form-urlencoded for Entity
Type. Specify the value for the key defined above. Default value: N/A Example: $widget |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Raw Entity | String/Expression | Appears on selecting raw for Entity Type. Specify the body to send in the request. If the raw entity is from an input document, the document is converted into JSON. Default value: $ Example: $ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| File | String/Expression | Appears on selecting binary for Entity Type. Specify or upload the file to send in the Post payload. Default value: N/A |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pagination | Properties to define pagination settings. Learn more about Pagination. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Has Next | String/Expression | Specify the boolean expression to indicate whether there is a next page. Learn
more about Has Next in action,
REST Get
. Note: HTTP client Snap evaluates the pagination properties before writing the
output document. Therefore, if snap.out.totalCountis used as part
of the Has Next expression, it must be used as snap.out.totalCount
+ 1, for example, "snap.out.totalCount + 1 <
$entity.total"Note: With the 433patches21307,
pagination evaluation occurs before sending the output to the output view.
Therefore, if snap.out.totalCount is part of the Has Next
or any other pagination properties, the Snap will not include the count in the
output corresponding to the request that produced the output document.Warning: This field is null-safe; if the evaluated value is null, or if
there is no value provided in Has Next field, the Snap stops the
pagination. Default value: N/A Example: $entity['has-more'] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Total Pages to Fetch | Integer/Expression | Specify the maximum number of pages to fetch. The Snap stops fetching the next
page if either the maximum number of pages is reached or the Has Next
condition evaluates to false. Note: This is the secondary limit,
which is used only if it is set—if it is left blank the Snap continues to fetch
pages until the next page condition evaluates to
false.Default value: N/A Example: 5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Override URI | Checkbox | Select this checkbox to enable the URI to be overridden with the specified Next
URI for each pagination request. Default status: Deselected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Next URI | String/Expression | Specify an expression to generate the URI for reading the next page. The
expression will be evaluated on the output document. Note: HTTP client Snap
evaluates the pagination properties before writing the output document. Therefore,
if the snap.out.totalCountis used as part of the offset query
parameter in the Next URI expression, it must be used as
snap.out.totalCount + 1, for example,
"snap.out.totalCount + 1 < $entity.total"Default value: N/A Example:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Reuse request parameters | Checkbox | Select this checkbox to enable the Snap to reuse the specified URI parameters in
the pagination requests. You can use the Override Parameters table to override some
of them. Default status: Deselected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Override parameters | Configure the parameters to override the next pagination URL. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Name | String/Expression | Specify the name of the parameter to override. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Value | String/Expression | Specify the value for the parameter. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Override Headers | Define the headers to be overidden or added in the next pagination request. Headers with the same name are overwritten and new headers are appended. If the value is empty, the header is removed. The header value is evaluated against the response document. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Name | String/Expression/ Suggestion | Specify the name of the header to be updated or added. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Value | String/Expression | Specify the value of the header to be updated or added. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pagination Interval (seconds) | Integer | Specify the interval in seconds between the requests for each page. Default value: 0 Example: 5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Client Settings | Additional settings for the HTTP Client. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Connection | Configure the settings to establish the connection to the server. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Cookie Policy | Dropdown list | Select a Cookie Policy from the following options:
Default value: RFC Lax Example: RFC Strict |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Trust all certificates | Checkbox | Select this checkbox to trust all certificates, such as self-signed
certificates. Default status: Deselected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Read Timeout (seconds) | Integer | Specify the number of seconds the Snap must wait before terminating the request
because of a failure to read from the target service. Default value: 900 Example: 60 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Connection Timeout (seconds) | Integer | Specify the number of seconds for which the Snap must wait before aborting the
request due to a failure to establish a connection to the target endpoint or
service. Default value: 30 Example: 60 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Retry | Properties for handling retries. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Retry Condition | Dropdown list | Select one of the following options to handle connection and error responses:
Default value: Connection errors Example: All errors |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Maximum Attempts | Integer | Specify the maximum number of attempts the Snap must make to receive a
response. If the attempts do not result in a response, the Snap terminates the
request. Default value: 5 Example: 3 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Retry Interval (seconds) | Integer | Specify the number of seconds the Snap must wait between two successive
requests. A retry happens only when the previous attempt resulted in an
exception. Default value: 3 Example: 10 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Automatically retry on 429 responses | Checkbox | Select this checkbox to automatically retry the 429 Too Many
Requests.Default status: Selected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Use Retry-After header for 429 | Checkbox | Select this checkbox to enable the Snap to follow the
Retry-After response header (if it exists) to retry the 429
responses.Default status: Selected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Redirects | Properties for handling redirections. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Follow redirects | Checkbox | Select this checkbox to accept the response and redirect the request. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Follow original HTTP method | Checkbox | Appears on selecting the Follow redirects checkbox. Select this checkbox to enable the Snap to use the original HTTP method to do the redirect request. Otherwise, the GET method is used. Default status: Deselected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Maximum Number of Redirects | Integer/Expression | Specify the maximum number of redirects to allow. Default value: 10 Example: 5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Allow relative redirect | Checkbox | Select this checkbox to determine whether relative redirects should be allowed.
The HTTP specification requires the location value to be an absolute URI.
Default status: Selected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Allow circular redirect | Checkbox | Select this checkbox to allow circular redirects to the same location. Default status: Deselected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Output | Properties that define the display of the output. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Response Type | Dropdown list | Choose one of the following response types:
Default value: JSON Example: Text |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Extract entity as Documents | Checkbox | Appears on selecting JSON for Response Type. Select this checkbox to extract the response entity as an output document as per the specified JSON path. If the extracted value is a list, it is split. Default status: Selected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Write unsuccessful response to Error View | Checkbox | Select this checkbox to treat all unsuccessful responses (308, 4xx, and 5xx) as
errors and write them to the error view. Default status: Deselected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Include current cookies | Checkbox | Select this checkbox to include current cookies in each output document. Default status: Selected |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Snap execution | Dropdown list |
Choose one of the three modes in
which the Snap executes. Available options are:
Default value: Execute only Example: Validate & Execute |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Troubleshooting
| Error | Reason | Resolution |
|---|---|---|
| Error making HTTP call to the endpoint. | With the Apache library upgrade from HttpClient4 to HttpClient5, the HTTP Client Snap encodes all reserved characters (defined in RFC 3986, Section 2.2) in a URL. | Select the Prevent URL encoding checkbox to prevent encoding of reserved characters in the URL and run the pipeline. This allows a request with reserved characters in the URL to succeed without failing. |
| Unable to find a valid certification path to the requested target. | Each HTTP Client Snap must have its own account configured with the required certificate. | |
|
Stack trace error in the Snap: ) |
The HTTP Client Snap sends Accept-Encoding is "gzip,
deflate" in the request by default . |
Provide Accept-Encoding = * in the HTTP header to prevent
the error. |
| Failed to execute the HTTP request. | The Service URL must have a protocol, such as http://,
https://. <Service_URL>: Name or service not known. This means that the service URL you entered is not accessible. |
Check the Snap properties. Specifically, check your entry in the Service URL field. |
| Failure: Validation errors: property_map.settings.serviceUrl.value: Could not compile expression: <Service_URL> |
The Snap settings are not correct. Encountered extraneous input ':' at line 1:5; expecting={<EOF>, '||', '&&', '^', '==', '!=', '>', '<', '>=', '<=', '+', '-', '*', '/', '%', '?', 'instanceof', 'in', 'matches', '[', '(', '.', PropertyRef}. This means that you turned expressions on () when entering the string value into the Service URL field. |
Fix the Snap configuration and try executing again. Check the expression syntax. Ensure that your service URL is a proper expression; or turn off the expression control (). |
| The provided URI is invalid. | Illegal character in schema name. | Verify that the URI and parameters that you provide are syntactically correct. |
| Status codes | ||
| URL Parse Exception - 403 | The Service URL path might be containing any of the following special characters: !, =, %, #, $, ^&()_¢äâêîôûñç¡¿ÉÙËǨ°¸ðø©¢¾A+²½µ®§÷¶þ | To escape the special characters, use the global function encodeURIComponent on any variables that might contain special characters so that they are encoded properly. |
| status code = 404 |
Phrase = NOT FOUND, refer to the error_entity field in the error view document for more details. This means that your service URL does not point to the correct endpoint. |
Check the values of Snap properties. Specifically, check your service URL. |
| status code = 404 |
Phrase = NOT FOUND, refer to the error_entity field in the error view document for more details. This means that your service URL does not point to the endpoint that it should. |
Check the values of Snap properties. Specifically, check your service URL. |
| status code = 406 |
NOT ACCEPTABLE. This means that the endpoint is not receiving any details from upstream Snaps. |
Ensure that you have valid references in the HTTP entity field. |
| status code = 409 | CONFLICT, refer to the error_entity field in the error view document for more details. This happens when you already have the resource that you want to create in the target endpoint. | Verify the values in the Snap configuration. |
| Too many Requests - 429 | There are too many requests to the endpoint. |
Wait for the retry to succeed. The HTTP Client Snap extracts the response header and automatically retries when it encounters status 429. By default, the retry interval (Retry-After) is specified in the HTTP response header. If no value is available for Retry-After, then the Snap’s Retry Interval value is used. |