Experimental:Web Server DAT
Web Server DAT runs a web server in TouchDesigner. The Web Server DAT supports handling of HTTP requests and WebSocket connections. How client requests are handled is left up to the user via callbacks.
Currently only Basic authentication (ie. encoded username and password) is supported via a python method. Authentication will be in the HTTP request dictionary under the key 'Authorization'.
Ultimately, security is the complete responsibility of the user. It is up to the user to ensure that HTTP requests are properly authenticated, and any data storing usernames/passwords are encrypted or saved privately.
HTTPS is supported via the Secure (TLS) parameter.
See also: Web Client DAT
Parameters - Web Server Page
port - The web server's connection port. Eg. If the port number is 9980, the web server can be connected to locally (via a web browser) at the address "localhost:9980".
start - Starts the web server.
stop - Stops the web server.
secure - When enabled, the web server will use transport layer security (TLS) to create secure connections with clients. As a result, the web server will run through HTTPS instead of HTTP.
Private Key File
privatekey - The path to the private key file of the server's TLS certificate.
certificate - The path to the certificate file of the server's TLS certificate.
callbacks - A reference to a DAT with python callbacks. The Web Server DAT relies heavily on the Callbacks DAT, and in fact most functionality passes through the callbacks.
onHTTPRequest - Triggered when the web server receives an HTTP request. The request is a dictionary of HTTP headers. Similarly, response is a dictionary of response data such as status and reason. Additional key/value pairs can be added to the response dictionary that will be added as headers in the HTTP response. The response server must be returned from the callback. This response will be sent back to the client.
onWebSocketOpen - Triggered when a WebSocket connection is opened with a client. The client address is passed to the callback.
onWebSocketClose - Triggered when a WebSocket connection is closed. The client address is passed to the callback.
onWebSocketReceiveText - Triggered when the server's WebSocket connection receives text data from a client. The client that sent the text data is passed through to the callback.
onWebSocketReceiveBinary - Triggered when the server's WebSocket connection receives binary data from a client. The client that sent the binary data is passed through to the callback.
onServerStart - Triggered when the server starts.
onServerStop - Triggered when the server stops.
Parameters - Common Page
language - ⊞ - Select how the DAT decides which script language to operate on.
input- The DAT uses the inputs script language.
node- The DAT uses it's own script language.
extension - ⊞ - Select the file extension this DAT should expose to external editors.
dat- various common file extensions.
- From Language
language- pick extension from DATs script language.
- Custom Extension
custom- Specify a custom extension.
customext - Specifiy the custom extension.
wordwrap - ⊞ - Enable Word Wrap for Node Display.
input- The DAT uses the inputs setting.
on- Turn on Word Wrap.
off- Turn off Word Wrap.
|• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •|