The server now implements two REST APIs:
1) A token-based validation API for clients that want to stream
2) A simple API to list or abort streams running on the server
Token-based Validation:
=======================
The server maintains a hash table of (sessionid, udp-host, udp-port) tuples
against which incoming (HTTP PUT/POST) and outgoing (HTTP GET) streams are
validated. The following API is available to manipulate this table:
Adding Tokens:
--------------
> Adding a token for an HTTP stream
POST http://[host]:8000/api/add-token?type=http&sessionid=[sessionid]
> Adding a token for an RTP-UDP stream on host:port
POST http://[host]:8000/api/add-token?type=rtp-udp&sessionid=[sessionid]&udp-clients=[host]:[port]
> Adding a token for an HTTP stream and RTP-UDP streams on host1:port1,host2:port2
POST http://[host]:8000/api/add-token?type=http,rtp-udp&sessionid=[sessionid]&udp-clients=[host1]:[port1],[host2]:[port2]
Revoking Tokens:
----------------
> Revoking a token
DELETE http://[host]:8000/api/revoke-token?sessionid=[sessionid]
Listing Tokens:
----------------
> Listing all tokens
GET http://[host]:8000/api/list-tokens
This will return a JSON array of dicts with the "sessionid", "host", and "port"
for each token.
Listing and Aborting Running Streams:
=====================================
> Listing all streams
GET http://[host]:8000/api/list-streams
> Aborting a running stream
DELETE http://[host]:8000/api/abort-stream?sessionid=[sessionid]