Houdini 20.5 Nodes TOP nodes

URL Request TOP node

Creates work items that request data from a URL.

Since 19.0

This node creates work items that make an HTTP request to a URL. The response data is stored to either a work item attribute or an external file on disk.

Parameters

URL Request

Generate When

Determines when this node will generate work items. You should generally leave this set to “Automatic” unless you know the node requires a specific generation mode, or that the work items need to be generated dynamically.

All Upstream Items are Generated

This node will generate work items once all of the input nodes have generated their work items.

All Upstream Items are Cooked

This node will generate work items once all of the input nodes have cooked their work items.

Each Upstream Item is Cooked

This node will generate work items each time a work item in an input node is cooked.

Automatic

The generation mode is selected based on the generation mode of the input nodes. If any of the input nodes are generating work items when their inputs cook, this node will be set to Each Upstream Item is Cooked. Otherwise, it will be set to All Upstream Items are Generated.

Perform Request During

Determines whether the HTTP request is executed during work item generation or when the work item cooks. If the request is executed during generation, the generation step will block until all of the request has completed. This means that work items will not be added to the node until the HTTP request returns a result.

Request

These parameters configure the URL, query arguments, and request type.

HTTP Request Type

Specifies the type of HTTP request to perform. You can choose from the following request types: GET, POST, PUT, HEAD, and DELETE.

Custom User Agent

When on, the value of the parameter is added as the User-Agent header to HTTP requests made by work items in the node.

Content Type

When on, the value of the parameter is added as the Content-Type header to HTTP requests made by work items in the node.

Authorization

When on, the value of the parameter is added as the Authorization header to HTTP requests made by work items in the node.

Request Timeout

When on, any HTTP requests made by work items in this node will fail if a response is not received before the specified time (in seconds) has passed.

Allow Direction

When on, HTTP requests follow redirects until they reach an endpoint that supplies a different HTTP status code. When off, the HTTP request does not follow redirects and returns a 30× status code.

Base URL

Specifies the base URL for the request. For example, https://www.sidefx.com.

Set URL Parameters

Determines how the node should add extra parameters to the base URL.

None

No extra URL parameters are added.

From Attributes

URL parameters are set based on the attribute names/values specified by the pattern from the Attribute Pattern parameter.

From Multiparm

Extra parameters are explicitly added using the Num URL Parameters multiparm.

Attribute Pattern

Specifies the attributes that should be added as URL query parameters.

This parameter is only available when Set URL Parameters is set to From Attributes.

Num URL Parameters

Specifies the number of URL query parameters to add to the base URL.

This parameter is only available when Set URL Parameters is set to From Multiparm.

Name

The name of the URL query parameter.

Value

The value of the URL query parameter.

Custom Headers

Specifies the list of name/value pairs that should be added as custom headers when making HTTP requests.

Name

The name of the custom HTTP header.

Value

The value of the custom HTTP header.

Payload

These parameters configure the payload data that gets sent with the request when making a POST or PUT HTTP request type.

Set Payload From

Determines how the payload data will be specified.

None

No payload data is sent with the request.

Attribute

The payload data is set based on the contents of the work item attribute specified by the Attribute Name parameter.

File

The payload data is loaded from a file on disk.

Custom String

The payload is set to the custom string value specified by the Custom Payload parameter.

Attribute Name

Determines the name of the attribute on the upstream work items that contains the payload data.

This parameter is only available when Set Payload From is set to Attribute.

File Type

Determines how the file path is specified.

This parameter is only available when Set Payload From is set to File.

Upstream Output File

The file is loaded from an upstream work item’s output file list. This file list is specified by the File Tag parameter.

Custom File Path

The file path is specified by the custom value from the File Path parameter.

File Tag

Determines the file tag to use when loading an upstream output file.

This parameter is only available when File Type is set to Upstream Output File.

Multipart Names

It is possible that there are multiple upstream files with the same File Tag associated with them. When this parameter is on, the HTTP request will POST those files as a multipart request, using the part names determined by the Value Pattern specified by this parameter.

This parameter is only available when File Type is set to Upstream Output File.

File Path

Determines the file path for the payload data.

This parameter is only available when File Type is set to Custom File Path.

Custom Payload

The contents of this parameter’s field are added as the payload data to the HTTP request.

This parameter is only available when Set Payload From is set to Custom String.

Convert Payload to Object

When on, the payload contents are converted to a Python Object.

Response

These parameters configure how response data from the request gets saved.

Save Response Data To

Specifies how and where the response data should be stored.

None

Response data from the request is discarded.

Attribute

Response data is saved directly to a string attribute on the work item that made the request.

File

Response data is saved to a file on disk, which is also added as an output file on the work item.

Save As

Determines how the response data is saved.

This parameter is only available when Save Response Data To is set to Attribute.

Sting

Data is saved as a string attribute.

Python Object

Data is reinterpreted as JSON and then saved as a PyObject attribute.

Dictionary

Attribute Name

Specifies the name of the work item attribute.

This parameter is only available when Save Response Data To is set to Attribute.

File Path

Specifies the file path to save the response to. This path is also added to the work item as an output file.

This parameter is only available when Save Response Data To is set to File.

File Tag

Specifies the file tag to associate with the output File Path.

This parameter is only available when Save Response Data To is set to File.

Automatic

The node detects the tag based on the extension of the file.

Custom

Use a Custom File Tag.

Custom File Tag

Specifies the work item output tag when saving the response data as a file.

This parameter is only available when File Tag is set to Custom Tag.

Save as Binary

When on, the output file is treated as a binary when saving the response data to a file.

Stream Response Data

When on, the response data is streamed from the remote server that handles the request to its storage location. If this parameter is disable the entire response has to be loaded into memory before it can be saved.

SSL Verification

These parameters configure the SSL certificate validation performed when making a request to an HTTPS URL.

Verify SSL Certificate

Determines whether or not SSL certificate validation should be performed when making an HTTPS request.

Custom Cert File

Specifies the path to a custom file that contains the trusted CAs for certificate verification.

Client Cert Type

Determines how a custom client-side certificate should be specified.

None

No certificate is specified.

Single File

The certificate is specified as a single .pem file.

Cert/Key Pair

The certificate is a specified as a pair containing the private key and certificate.

Error Handling

These parameters determine how request errors should be handled by the node.

On Request Failure

Determines how to treat the request is reported on a failure.

Ignore

The request’s failure is not reported.

Report Warning

The request’s failure is reported as a warning.

Report Error

The request’s failure is reported as an error.

Status Code Attrib

When on, the HTTP status code from the request is stored in the specified attribute.

Save Response Headers

When on, the response headers from the request are stored to attributes on the work item.

Retry Failed Requests

When on, failed requests are retried until they succeed or until a maximum retry count is reached.

Max Retries

When Retry Failed Requests is enabled, this parameter determinates the maximum number of retries for failed requests.

Retry Backoff

The amount of time between retries in seconds.

The exact formula used for delays between retries is backoff * 2^(num_failures-1). Each failure results in an exponentially longer wait time.

Retry Status Codes

A space or comma-separated list of HTTP status codes that should be retried.

Schedulers

TOP Scheduler Override

This parameter overrides the TOP scheduler for this node.

Schedule When

When enabled, this parameter can be used to specify an expression that determines which work items from the node should be scheduled. If the expression returns zero for a given work item, that work item will immediately be marked as cooked instead of being queued with a scheduler. If the expression returns a non-zero value, the work item is scheduled normally.

Work Item Label

Determines how the node should label its work items. This parameter allows you to assign non-unique label strings to your work items which are then used to identify the work items in the attribute panel, task bar, and scheduler job names.

Use Default Label

The work items in this node will use the default label from the TOP network, or have no label if the default is unset.

Inherit From Upstream Item

The work items inherit their labels from their parent work items.

Custom Expression

The work item label is set to the Label Expression custom expression which is evaluated for each item.

Node Defines Label

The work item label is defined in the node’s internal logic.

Label Expression

When on, this parameter specifies a custom label for work items created by this node. The parameter can be an expression that includes references to work item attributes or built-in properties. For example, $OS: @pdg_frame will set the label of each work item based on its frame value.

Work Item Priority

This parameter determines how the current scheduler prioritizes the work items in this node.

Inherit From Upstream Item

The work items inherit their priority from their parent items. If a work item has no parent, its priority is set to 0.

Custom Expression

The work item priority is set to the value of Priority Expression.

Node Defines Priority

The work item priority is set based on the node’s own internal priority calculations.

This option is only available on the Python Processor TOP, ROP Fetch TOP, and ROP Output TOP nodes. These nodes define their own prioritization schemes that are implemented in their node logic.

Priority Expression

This parameter specifies an expression for work item priority. The expression is evaluated for each work item in the node.

This parameter is only available when Work Item Priority is set to Custom Expression.

TOP nodes