- FlashROM Support for LC2 and newer.
 - FlashROM system can handle local files, or proxy from server (default). No need to have a local FlashROM collection!
 - Added 'verbosity' configuration option
 - Update HTML Mode to async fileRead
 - Config option for sending tellyscripts or not
 - Config option to mask SSIDs in console log
 - Update wtv-home:/home and wtv-home:/zefie
 - Update .gitignore
 - Add wtv-music:/demo/index courtesy of MattMan69
 - Update HTML Mode to async fileRead
 - Update Raw TXT Mode to async fileRead
 - Replaced .async.js feature with defining `request_is_async` in standard .js script
 - Cleaned up code a bit
 - Moved global var 'query' to 'request_headers.query'
 - Tidied ServiceDeps
 - Upgraded wtv-log:/log to async, now also logs query arguments, saves to .txt for easier reading.
This commit is contained in:
zefie
2021-07-17 19:15:43 -04:00
parent ccc7951e34
commit 23d014a334
160 changed files with 1413 additions and 378 deletions

33
ServiceVault.md Normal file
View File

@@ -0,0 +1,33 @@
## Brief ServiceVault Explanation
The server will look for a subdirectory under the running directory, called `ServiceVault` (might be user-configurable in the future).
Within that directory, it looks for a subdirectory named after the wtv-service URL requested.
The server will then look for files in sequential order when requesting a URL, stopping at the first match.
Let us use the URL `wtv-1800:/preregister` as an example. This is what the server would look for (in order):
- `./ServiceVault/wtv-1800/preregister` \[ [Example](zefie_wtvp_minisrv/ServiceVault/wtv-star/images/HackTVLogo.gif) \]
- Exact file name match (*Direct File Mode*)
- Server sends the raw file, with its content-type. No parsing is done on the file.
- You do not need to do anything special with this format.
- `./ServiceVault/wtv-1800/preregister.txt` \[ [Example](zefie_wtvp_minisrv/ServiceVault/wtv-home/splash.txt) \]
- TXT file match (*Raw TXT Mode*)
- Service parses and sends AS-IS.
- You are expected to define headers
- `./ServiceVault/wtv-1800/preregister.js` \[ [Example](zefie_wtvp_minisrv/ServiceVault/wtv-home/home.js) \]
- Synchronous JS match (*JS Interpreter mode*)
- Executes the JavaScript in synchronous mode.
- You are expected to define `headers` and `data` before the end of your script.
- Access Asynchronous mode by setting `request_is_async = true;`
- Client request headers are available as an Array in variable `request_headers`, query arguments are also an Array, in `request_headers.query`
- In Asynchronous mode, you are expected to call `sendToClient(socket,headers,data)` yourself, `socket` is already defined by the time your script runs, so you can just pass it through.
- `./ServiceVault/wtv-1800/preregister.html` \[ [Example](zefie_wtvp_minisrv/ServiceVault/wtv-home/zefie.html) \]
- HTML match (*HTML mode*)
- Like Direct File Mode, but you don't need to append `.html`.
- You do not need to do anything special with this format.
The server will stop at the first result it finds using the order above.
So if you have `preregister.txt` and `preregister.js`, it will use `preregister.txt`, but not `preregister.js`.