Skip to main content

request

Send a GET, POST, PUT, or DELETE request to a remote URL.

request
objectrequired

An object containing the request parameters

request Parameters

request.url
stringrequired

URL to send the HTTPS request to. Authentication can also be set in the url in the format of username:password@url.

request.method
stringrequired

Request type. GET|POST|PUT|DELETE

request.headers
object

Object containing HTTP headers to set. Valid header values are Accept, Authorization, Content-Type, Range, and custom X- headers

request.body
string | object

Request body. Content-Type header should be explicitly set, but if not set, the most likely type will be set based on the first non-whitespace character.

request.connect_timeout
number
Default: 5.0 seconds

Maximum time in seconds to wait for a connection

request.timeout
number
Default: 5.0 seconds

Maximum time in seconds to wait for a response

request.save_variables
boolean
Default: false

Store parsed JSON response as variables

Variables

Set by the method:

  • request_url: (out) URL the request was sent to.
  • request_result: (out) success | failed.
  • return_value: (out) The same value as the request_result.
  • request_response_code: (out) HTTP response code from the request.
  • request_response_headers.<header name lowercase>: (out) HTTP response headers. Header names should be normalized to lowercase and trimmed of whitespace. A maximum of 64 headers are saved. Ex: ${request_response_headers.content-type}.
  • request_response_body: (out) Raw HTTP response body. This is limited to 64KB.
  • request_response.<object_field>: (out) Variables saved from the response if save_variables is true and parsed as JSON.

For example, if the server responds with the following JSON:

  { "status": "created", "time": "2 seconds ago", "number": { "home": "n/a" } }

The variables request_response.status, request_response.time, and request_response.number.home are set.

Examples

Making a GET Request

version: 1.0.0
sections:
main:
- answer: {}
- request:
url: 'https://jsonplaceholder.typicode.com/todos/1'
method: GET
save_variables: true
timeout: 10
- play:
url: 'say: the title is: ${request_response.title}'