JSite Server
Installation
npm
npm install jsite-server
Usage
const JSiteServer = ; /** * Initiate Server */let Server1 = ; // Specify options, no callbacklet Server2 = request: false; // Default options, with callbacklet Server3 = { console;}; // Specify options, with callbacklet Server4 = request: false { console}; /** * Start Listening */Server1; // Specify portServer2; // Specify port, with delayServer3;
Events
http.Server
From-
Changes:
- request - only emit if "request" option is
false
- request - only emit if "request" option is
-
No Changes:
New
- complete: Emitted each time the request output is finished (see "output")
Documentation
Options
Name | Type (default) | Description |
---|---|---|
request | Boolean (true ) |
Handle the "request" event |
index | Boolean (true ) |
Allow index.json files |
directory | Array (see "Directory Files") | Directory files, in order of priority |
output | Function (see "Request Output") / false |
Function for request output |
error | Function (none) | Handler for status codes |
before | Any | Handler for pre-serving |
Directory Files (default)
["index.js", "index.html", "index.json"]
"index.json" will only be used when in "index" mode.
Request Output (default)
Output is called within an Array.map(), the following variables are available:
- Argument 1 (
p
in default) - URL (or file) path, with trailing slash. - Argument 2 (
p_i
in default) - Item index within the Array being mapped. request
- http.IncomingMessage for the current request.info
- Object with "headers" (Array), "data" (Readable / String), "status" (Number) properties.
Default output function:
{ if p_i === 0 p += ` ()`; if p_i === requesturlprevlength - 1 p += ` []`; return "\t" + p;}
Error Handler (example)
Handler used for HTTP status code pages, defaults to just code and description.
Example status code handler:
{ return { let file = path; return fs; };}
"Before" Handler (example)
You can process/provide information to the request using the "before" handler. This could be used for logging, or adding global variables to each request handler. You can provide this is any data type, functions will be executed (including Promises).
The returned value of the "before" handler will be stored into request.extra
.
Example before handler:
{ return { return ; };}