Sends an HTTP POST
request to the specified URL.
For more information, see Make an HTTP request.
Arguments
Arguments | |
---|---|
url |
The URL to send the request to. |
timeout |
The request timeout, in seconds (default: |
body |
If present, the request body (POST requests do generally require a body). If a Content-Type header is not specified and if the body value is bytes, the header is set to Content-Type: application/octet-stream ; otherwise, the body is JSON-encoded and the header is set to Content-type: application/json; charset=utf-8 . |
headers |
The HTTP request headers. If present, must be a map of strings. If a Content-Type header is specified, the request body is encoded as prescribed. For example, it might be JSON or URL-encoded. |
query |
Optional query parameters. If present, must be a map that will get URL-encoded and appended to the URL. The map values must be strings, ints, floats, booleans, or lists of those. |
auth |
Optional authentication properties. If present, must be a map with type attribute in ["OIDC", "OAuth2"] . A scopes key is also supported. For details, see Make authenticated requests to Google Cloud APIs. |
private_service_name |
If present, |
ca_certificate |
If present, |
Returns
The HTTP response as a map with body
, code
(status code), and headers
attributes.
Raised exceptions
Exceptions | |
---|---|
ConnectionError |
In case of a network problem (DNS failure, truncated response, etc.). |
ConnectionFailedError |
When the connection is halted during transfer (failed connection, refused connection, etc.). |
TimeoutError |
When the specified timeout is reached before the response is received. |
HttpError |
If the response status is >= 400. |
ValueError |
If timeout is > 1800. If the URL is invalid or if authType is present and URL is invalid for the given authType. If the private_service_name is invalid. If private_service_name is present and URL contains a port. If ca_certificate is present and not of type bytes. |
Examples
# Make a `POST` request to an external HTTP endpoint - send_message: call: http.post args: url: https://www.example.com/endpoint body: some_val: "Hello World" another_val: 123 result: the_message - return_value: return: ${the_message.body}