Inherits: Node < Object

Category: Core

Brief Description

A node with the ability to send HTTP requests.


void cancel_request ( )
int get_body_size ( ) const
int get_downloaded_bytes ( ) const
Status get_http_client_status ( ) const
Error request ( String url, PoolStringArray custom_headers=PoolStringArray( ), bool ssl_validate_domain=true, Method method=0, String request_data=”” )


This signal is emitted upon request completion.


enum Result:

  • RESULT_SUCCESS = 0 — Request successful.
  • RESULT_CANT_CONNECT = 2 — Request failed while connecting.
  • RESULT_CANT_RESOLVE = 3 — Request failed while resolving.
  • RESULT_CONNECTION_ERROR = 4 — Request failed due to connection (read/write) error.
  • RESULT_SSL_HANDSHAKE_ERROR = 5 — Request failed on SSL handshake.
  • RESULT_NO_RESPONSE = 6 — Request does not have a response (yet).
  • RESULT_BODY_SIZE_LIMIT_EXCEEDED = 7 — Request exceeded its maximum size limit, see body_size_limit.
  • RESULT_REQUEST_FAILED = 8 — Request failed. (Unused)
  • RESULT_DOWNLOAD_FILE_CANT_OPEN = 9 — HTTPRequest couldn’t open the download file.
  • RESULT_DOWNLOAD_FILE_WRITE_ERROR = 10 — HTTPRequest couldn’t write to the download file.
  • RESULT_REDIRECT_LIMIT_REACHED = 11 — Request reached its maximum redirect limit, see max_redirects.


A node with the ability to send HTTP requests. Uses HTTPClient internally.

Can be used to make HTTP requests, i.e. download or upload files or web content via HTTP.


Property Descriptions

  • int body_size_limit
Setter set_body_size_limit(value)
Getter get_body_size_limit()

Maximum allowed size for response bodies.

Setter set_download_file(value)
Getter get_download_file()

The file to download into. Will output any received file into it.

  • int max_redirects
Setter set_max_redirects(value)
Getter get_max_redirects()

Maximum number of allowed redirects.

Setter set_use_threads(value)
Getter is_using_threads()

If true, multithreading is used to improve performance.

Method Descriptions

  • void cancel_request ( )

Cancels the current request.

  • int get_body_size ( ) const

Returns the response body length.

  • int get_downloaded_bytes ( ) const

Returns the amount of bytes this HTTPRequest downloaded.

  • Status get_http_client_status ( ) const

Returns the current status of the underlying HTTPClient. See STATUS_* enum on HTTPClient.

Creates request on the underlying HTTPClient. If there is no configuration errors, it tries to connect using HTTPClient.connect_to_host and passes parameters onto HTTPClient.request.

Returns @GlobalScope.OK if request is successfully created. (Does not imply that the server has responded), @GlobalScope.ERR_UNCONFIGURED if not in the tree, @GlobalScope.ERR_BUSY if still processing previous request, @GlobalScope.ERR_INVALID_PARAMETER if given string is not a valid URL format, or @GlobalScope.ERR_CANT_CONNECT if not using thread and the HTTPClient cannot connect to host.