Web Client DAT

From TouchDesigner Documentation
Jump to: navigation, search


The Web Client DAT allows you to send HTTP requests to web servers from TouchDesigner. It supports GET, POST, PUT, DELETE, HEAD, OPTIONS and PATCH http methods.

The Web Client DAT supports various authentication types such as: basic, oauth1, oauth2.

The Web Client DAT allows for streaming from web servers.

The Web Client DAT sends HTTP requests to web servers and then outputs the response in the DAT. With streaming enabled it can stream data from a web server.

When streaming is enabled, Clamp Output as Rows should be enabled. This turns the output of the DAT into a FIFO table instead of raw text. Only the last N lines will be displayed, where N is the value of the Maximum Lines parameter. This will prevent the text in the DAT from getting too larger and will keep cook-times down as a result.

The Web Client DAT supports sending of GET, POST, PUT, DELETE, HEAD, OPTIONS, and PATCH request methods. The Web Client DAT also supports 4 authentication methods: Basic, Digest, OAuth1, and OAuth2.

The first input is the extra headers to send in the request. It should be a table with 2 columns, structured as name/value pairs. For example:

Content-Type application/json
Connection Close

The second input is the additional options to send in the request. These are query parameters which will be appended to the URL. This can be a table with two columns, structured as name/value pairs. It can also just be text, in which case it will append as-is. Example input:

name joe
month May

The Web Client DAT is the successor to the Web DAT.

See also: Web Server DAT, SocketIO DAT, XML DAT, TCP/IP DAT, WebSocket DAT, Web DAT.


Parameters - Web Client Page

Active active - Toggles the operator on/off.  

Request Method reqmethod - - Selects the HTTP request method.

  • GET get - The GET method requests a representation of the specified resource. Requests using GET should only retrieve data.
  • POST post - The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server.
  • PUT put - The PUT method replaces all current representations of the target resource with the request payload.
  • DELETE delete - The DELETE method deletes the specified resource.
  • HEAD head - The HEAD method asks for a response identical to that of a GET request, but without the response body.
  • OPTIONS options - The OPTIONS method is used to describe the communication options for the target resource.
  • PATCH patch - The PATCH method is used to apply partial modifications to a resource.

URL url - The URL of the server to send the HTTP request  

Upload File uploadfile - The contents of the upload file will be sent to the server (chunked, if necessary).  

Request request - Sends the request  

Stop stop - Stops the stream of data from the server.  

Stream stream - Enables streaming. This is only necessary to enable if the server support streaming.  

Verify Certificate (SSL) verifycert - Enables TLS (transport layer security) certificate verification.  

Timeout timeout - Timeout of the request if no response is received from the web server.  

Include Header in Output includeheader - Includes the header in the output of the response.  

Asynchronous async - Enables asynchronous sending/receiving (ie. TouchDesigner doesn't hang while waiting for a response from the web server).  

Parameters - Authentication Page

Authentication Type authtype - - The type of authentication.

  • None none - No authentication
  • Basic basic - Basic authentication is base-64 encoded username and password.
  • Digest digest - Digest authentication is base-64 encoded username and password that's encrypted with a hashing function. Digest is a more secure version of Basic authentication.
  • OAuth1 ouath1 - Version 1 of OAuth. OAuth1 requires App Key, App Secret, User OAuth Token, and User OAuth Secret. These can be found via the account on the web server that request is being sent to. For example, in the case of the Twitter API the values of these 4 parameters can be found under the account profile.
  • OAuth2 ouath2 - Version 2 of OAuth. OAuth2 first requires an HTTP request be sent to the web server to acquire the Client ID and token. It can be acquired using a browser.

Username username - Username used in Basic/Digest authentication.  

Password pw - Password used in Basic/Digest authentication.  

App Key appkey - OAuth1 App Key retrieved from web server.  

App Secret appsecret - OAuth1 App Secret retrieved from web server.  

User OAuth Token oauthtoken - OAuth1 user token retrieved from web server.  

User OAuth Secret oauthsecret - OAuth1 user secret retrieved from web server.  

Client ID clientid - OAuth2 Client ID retrieved from web server.  

Token token - OAuth2 token retrieved from web server.  

Parameters - Output Page

Clear Output clear - Clears the output of the DAT.  

Clamp Output as Rows clamp - When enabled, the output of the DAT is table instead of text. The rows will also be clamped to Maximum lines parameter value. This should be enabled when streaming is enabled too ensure that the output does not get too large.  

Maximum Lines maxlines - The maximum number of rows when clamping is enabled.  

Callbacks DAT callbacks - The Callbacks DAT.  

Parameters - Common Page

Language language - - Select how the DAT decides which script language to operate on.

  • Input input - The DAT uses the inputs script language.
  • Node node - The DAT uses it's own script language.

Edit/View Extension extension - - Select the file extension this DAT should expose to external editors.

  • dat dat - various common file extensions.
  • From Language language - pick extension from DATs script language.
  • Custom Extension custom - Specify a custom extension.

Custom Extension customext - Specifiy the custom extension.  

Word Wrap wordwrap - - Enable Word Wrap for Node Display.

  • Input input - The DAT uses the inputs setting.
  • On on - Turn on Word Wrap.
  • Off off - Turn off Word Wrap.

Operator Inputs

  • Input 0 -
  • Input 1 -

TouchDesigner Build:

Art-Net • CHOP Execute • CHOP to • Clip • Convert • CPlusPlus • DAT •  Execute • DAT xport • Error • EtherDream • Evaluate • Examine • Execute • FIFO • File In • File Out • Folder • In • Indices • Info • Insert • Experimental:JSON • Keyboard In • Lookup • Merge • MIDI Event • MIDI In • Monitors • MQTT Client • Multi Touch In • NDI • Null • OP Execute • OP Find • OSC In • OSC Out • Out • Panel Execute • Parameter • Parameter Execute • Perform • Render Pick • Reorder • Script • Select • Serial • SocketIO • SOP to • Sort • Substitute • Switch • Table • TCP/IP • Text • Touch In • Touch Out • Transpose • TUIO In • UDP In • UDP Out • UDT In • UDT Out • Web Client • Web • Web Server • Experimental:Web Server • WebSocket • XML

An Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a command Script, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.

The generic thing that holds an Operator, and includes Flags (display, bypass, lock, render, immune) and its position/size in the network. Whether you "lay down an Operator" or "lay down an Node", you're doing the same thing.