Sends an HTTP request.
This is a generic function. In most cases, specific functions such as http.get and http.post are simpler to use.
For more information, see Make an HTTP request .
Arguments
method
string
The HTTP request method. One of: GET
, HEAD
, POST
, PUT
, DELETE
, OPTIONS
, PATCH
.
url
string
The URL to send the request to.
timeout
float
The request timeout, in seconds (default: 300.0
). If the request takes longer than the timeout, a TimeoutError
is raised. The maximum allowed timeout is 1800
seconds.
body
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
Content-Type
header is specified, the request body is encoded as prescribed. For example, it might be JSON or URL-encoded.query
auth
type
attribute in ["OIDC", "OAuth2"]
. A scopes
key is also supported. For details, see Make authenticated requests to Google Cloud APIs
.private_service_name
string
If present, private_service_name
must be a string that specifies a registered Service Directory service name with format projects/my-project/locations/us-east1/namespaces/
my-namespace/services/my-service
.
ca_certificate
bytes
If present, ca_certificate
must be a bytes value describing a custom CA certificate in DER format that will be used in place of the standard certificate pool. The certificate must be signed by a subject alternative name as defined by RFC 3280
.
Returns
The HTTP response as a map with body
, code
(status code), and headers
attributes.
Raised exceptions
ConnectionError
ConnectionFailedError
TimeoutError
HttpError
ValueError
Examples
# Return titles of Wikipedia articles # related to "Canada" - searchWikipedia : call : http.request args : method : GET url : 'https://en.wikipedia.org/w/api.php' timeout : 20 # seconds headers : # map of strings "Accept-Charset" : "utf-8" # Append search parameters to URL query : "action" : "opensearch" "search" : "Canada" result : x # `x` is a map and `x.body` is an array # Article titles are stored in # first index of `x.body` - returnStep : return : ${x.body[1]}

