Reference documentation and code samples for the Google Cloud Tasks V2 Client class HttpRequest.
HTTP request.
The task will be pushed to the worker as an HTTP request. If the worker
or the redirected worker acknowledges the task by returning a successful HTTP
response code ([200-299]), the task will be removed from the queue. If
any other HTTP response code is returned or no response is received, the
task will be retried according to the following:
System throttling: To prevent the worker from overloading, Cloud Tasks may
temporarily reduce the queue's effective rate. User-specified settings
will not be changed.
System throttling happens because:
Cloud Tasks backs off on all errors. Normally the backoff specified inrate limitswill be used. But
if the worker returns429(Too Many Requests),503(Service
Unavailable), or the rate of errors is high, Cloud Tasks will use a
higher backoff rate. The retry specified in theRetry-AfterHTTP
response header is considered.
To prevent traffic spikes and to smooth sudden increases in traffic,
dispatches ramp up slowly when the queue is newly created or idle and
if large numbers of tasks suddenly become available to dispatch (due to
spikes in create task rates, the queue being unpaused, or many tasks
that are scheduled at the same time).
Generated from protobuf messagegoogle.cloud.tasks.v2.HttpRequest
Namespace
Google \ Cloud \ Tasks \ V2
Methods
__construct
Constructor.
Parameters
Name
Description
data
array
Optional. Data for populating the Message object.
↳ url
string
Required. The full url path that the request will be sent to. This string must begin with either "http://" or "https://". Some examples are:http://acme.comandhttps://acme.com/sales:8080. Cloud Tasks will encode some characters for safety and compatibility. The maximum allowed URL length is 2083 characters after encoding. TheLocationheader response from a redirect response [300-399] may be followed. The redirect is not counted as a separate attempt.
↳ http_method
int
The HTTP method to use for the request. The default is POST.
HTTP request headers. This map contains the header field names and values. Headers can be set when thetask is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * * Host: This will be computed by Cloud Tasks and derived fromHttpRequest.url. * * Content-Length: This will be computed by Cloud Tasks. * * User-Agent: This will be set to"Google-Cloud-Tasks". * *X-Google-*: Google use only. * *X-AppEngine-*: Google use only.Content-Typewon't be set by Cloud Tasks. You can explicitly setContent-Typeto a media type when thetask is created. For example,Content-Typecan be set to"application/octet-stream"or"application/json". Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.
↳ body
string
HTTP request body. A request body is allowed only if theHTTP methodis POST, PUT, or PATCH. It is an error to set body on a task with an incompatibleHttpMethod.
If specified, anOAuth tokenwill be generated and attached as anAuthorizationheader in the HTTP request. This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com.
If specified, anOIDCtoken will be generated and attached as anAuthorizationheader in the HTTP request. This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself.
getUrl
Required. The full url path that the request will be sent to.
This string must begin with either "http://" or "https://". Some examples
are:http://acme.comandhttps://acme.com/sales:8080. Cloud Tasks will
encode some characters for safety and compatibility. The maximum allowed
URL length is 2083 characters after encoding.
TheLocationheader response from a redirect response [300-399]
may be followed. The redirect is not counted as a separate attempt.
Returns
Type
Description
string
setUrl
Required. The full url path that the request will be sent to.
This string must begin with either "http://" or "https://". Some examples
are:http://acme.comandhttps://acme.com/sales:8080. Cloud Tasks will
encode some characters for safety and compatibility. The maximum allowed
URL length is 2083 characters after encoding.
TheLocationheader response from a redirect response [300-399]
may be followed. The redirect is not counted as a separate attempt.
Parameter
Name
Description
var
string
Returns
Type
Description
$this
getHttpMethod
The HTTP method to use for the request. The default is POST.
Returns
Type
Description
int
setHttpMethod
The HTTP method to use for the request. The default is POST.
Parameter
Name
Description
var
int
Returns
Type
Description
$this
getHeaders
HTTP request headers.
This map contains the header field names and values.
Headers can be set when thetask is created.
These headers represent a subset of the headers that will accompany the
task's HTTP request. Some HTTP request headers will be ignored or replaced.
A partial list of headers that will be ignored or replaced is:
Host: This will be computed by Cloud Tasks and derived fromHttpRequest.url.
Content-Length: This will be computed by Cloud Tasks.
User-Agent: This will be set to"Google-Cloud-Tasks".
X-Google-*: Google use only.
X-AppEngine-*: Google use only.Content-Typewon't be set by Cloud Tasks. You can explicitly setContent-Typeto a media type when thetask is created.
For example,Content-Typecan be set to"application/octet-stream"or"application/json".
Headers which can have multiple values (according to RFC2616) can be
specified using comma-separated values.
The size of the headers must be less than 80KB.
This map contains the header field names and values.
Headers can be set when thetask is created.
These headers represent a subset of the headers that will accompany the
task's HTTP request. Some HTTP request headers will be ignored or replaced.
A partial list of headers that will be ignored or replaced is:
Host: This will be computed by Cloud Tasks and derived fromHttpRequest.url.
Content-Length: This will be computed by Cloud Tasks.
User-Agent: This will be set to"Google-Cloud-Tasks".
X-Google-*: Google use only.
X-AppEngine-*: Google use only.Content-Typewon't be set by Cloud Tasks. You can explicitly setContent-Typeto a media type when thetask is created.
For example,Content-Typecan be set to"application/octet-stream"or"application/json".
Headers which can have multiple values (according to RFC2616) can be
specified using comma-separated values.
The size of the headers must be less than 80KB.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Google Cloud Tasks V2 Client - Class HttpRequest (2.0.2)\n\nVersion latestkeyboard_arrow_down\n\n- [2.0.2 (latest)](/php/docs/reference/cloud-tasks/latest/V2.HttpRequest)\n- [2.0.1](/php/docs/reference/cloud-tasks/2.0.1/V2.HttpRequest)\n- [1.15.2](/php/docs/reference/cloud-tasks/1.15.2/V2.HttpRequest)\n- [1.14.6](/php/docs/reference/cloud-tasks/1.14.6/V2.HttpRequest)\n- [1.13.2](/php/docs/reference/cloud-tasks/1.13.2/V2.HttpRequest)\n- [1.12.2](/php/docs/reference/cloud-tasks/1.12.2/V2.HttpRequest)\n- [1.11.11](/php/docs/reference/cloud-tasks/1.11.11/V2.HttpRequest) \nReference documentation and code samples for the Google Cloud Tasks V2 Client class HttpRequest.\n\nHTTP request.\n\nThe task will be pushed to the worker as an HTTP request. If the worker\nor the redirected worker acknowledges the task by returning a successful HTTP\nresponse code (\\[`200` - `299`\\]), the task will be removed from the queue. If\nany other HTTP response code is returned or no response is received, the\ntask will be retried according to the following:\n\n- User-specified throttling: [retry\n configuration](/php/docs/reference/cloud-tasks/latest/V2.Queue#_Google_Cloud_Tasks_V2_Queue__getRetryConfig__), [rate limits](/php/docs/reference/cloud-tasks/latest/V2.Queue#_Google_Cloud_Tasks_V2_Queue__getRateLimits__), and the [queue's\n state](/php/docs/reference/cloud-tasks/latest/V2.Queue#_Google_Cloud_Tasks_V2_Queue__getState__).\n- System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue's effective rate. User-specified settings will not be changed. System throttling happens because:\n - Cloud Tasks backs off on all errors. Normally the backoff specified in [rate limits](/php/docs/reference/cloud-tasks/latest/V2.Queue#_Google_Cloud_Tasks_V2_Queue__getRateLimits__) will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered.\n - To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time).\n\nGenerated from protobuf message `google.cloud.tasks.v2.HttpRequest`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ Tasks \\\\ V2\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getUrl\n\nRequired. The full url path that the request will be sent to.\n\nThis string must begin with either \"http://\" or \"https://\". Some examples\nare: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will\nencode some characters for safety and compatibility. The maximum allowed\nURL length is 2083 characters after encoding.\nThe `Location` header response from a redirect response \\[`300` - `399`\\]\nmay be followed. The redirect is not counted as a separate attempt.\n\n### setUrl\n\nRequired. The full url path that the request will be sent to.\n\nThis string must begin with either \"http://\" or \"https://\". Some examples\nare: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will\nencode some characters for safety and compatibility. The maximum allowed\nURL length is 2083 characters after encoding.\nThe `Location` header response from a redirect response \\[`300` - `399`\\]\nmay be followed. The redirect is not counted as a separate attempt.\n\n### getHttpMethod\n\nThe HTTP method to use for the request. The default is POST.\n\n### setHttpMethod\n\nThe HTTP method to use for the request. The default is POST.\n\n### getHeaders\n\nHTTP request headers.\n\nThis map contains the header field names and values.\nHeaders can be set when the\ntask is created.\nThese headers represent a subset of the headers that will accompany the\ntask's HTTP request. Some HTTP request headers will be ignored or replaced.\nA partial list of headers that will be ignored or replaced is:\n\n- Host: This will be computed by Cloud Tasks and derived from [HttpRequest.url](/php/docs/reference/cloud-tasks/latest/V2.HttpRequest#_Google_Cloud_Tasks_V2_HttpRequest__getUrl__).\n- Content-Length: This will be computed by Cloud Tasks.\n- User-Agent: This will be set to `\"Google-Cloud-Tasks\"`.\n- `X-Google-*`: Google use only.\n- `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.\n\n### setHeaders\n\nHTTP request headers.\n\nThis map contains the header field names and values.\nHeaders can be set when the\ntask is created.\nThese headers represent a subset of the headers that will accompany the\ntask's HTTP request. Some HTTP request headers will be ignored or replaced.\nA partial list of headers that will be ignored or replaced is:\n\n- Host: This will be computed by Cloud Tasks and derived from [HttpRequest.url](/php/docs/reference/cloud-tasks/latest/V2.HttpRequest#_Google_Cloud_Tasks_V2_HttpRequest__getUrl__).\n- Content-Length: This will be computed by Cloud Tasks.\n- User-Agent: This will be set to `\"Google-Cloud-Tasks\"`.\n- `X-Google-*`: Google use only.\n- `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.\n\n### getBody\n\nHTTP request body.\n\nA request body is allowed only if the\n[HTTP method](/php/docs/reference/cloud-tasks/latest/V2.HttpRequest#_Google_Cloud_Tasks_V2_HttpRequest__getHttpMethod__) is POST, PUT,\nor PATCH. It is an error to set body on a task with an incompatible\n[HttpMethod](/php/docs/reference/cloud-tasks/latest/V2.HttpMethod).\n\n### setBody\n\nHTTP request body.\n\nA request body is allowed only if the\n[HTTP method](/php/docs/reference/cloud-tasks/latest/V2.HttpRequest#_Google_Cloud_Tasks_V2_HttpRequest__getHttpMethod__) is POST, PUT,\nor PATCH. It is an error to set body on a task with an incompatible\n[HttpMethod](/php/docs/reference/cloud-tasks/latest/V2.HttpMethod).\n\n### getOauthToken\n\nIf specified, an\n[OAuth token](https://developers.google.com/identity/protocols/OAuth2)\nwill be generated and attached as an `Authorization` header in the HTTP\nrequest.\n\nThis type of authorization should generally only be used when calling\nGoogle APIs hosted on \\*.googleapis.com.\n\n### hasOauthToken\n\n### setOauthToken\n\nIf specified, an\n[OAuth token](https://developers.google.com/identity/protocols/OAuth2)\nwill be generated and attached as an `Authorization` header in the HTTP\nrequest.\n\nThis type of authorization should generally only be used when calling\nGoogle APIs hosted on \\*.googleapis.com.\n\n### getOidcToken\n\nIf specified, an\n[OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)\ntoken will be generated and attached as an `Authorization` header in the\nHTTP request.\n\nThis type of authorization can be used for many scenarios, including\ncalling Cloud Run, or endpoints where you intend to validate the token\nyourself.\n\n### hasOidcToken\n\n### setOidcToken\n\nIf specified, an\n[OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)\ntoken will be generated and attached as an `Authorization` header in the\nHTTP request.\n\nThis type of authorization can be used for many scenarios, including\ncalling Cloud Run, or endpoints where you intend to validate the token\nyourself.\n\n### getAuthorizationHeader"]]