-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrun-server.js
More file actions
45 lines (41 loc) · 1.57 KB
/
run-server.js
File metadata and controls
45 lines (41 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var WebDevServer = require("web-dev-server");
//var WebDevServer = require("../web-dev-server/build/lib/Server");
// Create logger for any uncatched error (optional):
var logger = WebDevServer.Tools.Logger.CreateNew(__dirname, __dirname)
.SetStreamWriting(true)
.SetAllowedLevels([WebDevServer.Tools.Logger.LEVEL.ERROR, WebDevServer.Tools.Logger.LEVEL.CRITICIAL])
.SetMaxLogFileSize('100M')
.SetStackTraceWriting(true, true);
// Create web server instance.
WebDevServer.Server.CreateNew()
// Required.
.SetDocumentRoot(__dirname)
// Optional, 8000 by default.
.SetPort(8000)
// Optional, '127.0.0.1' by default.
.SetHostname('127.0.0.1')
// Optional, `true` by default to display Errors and directories.
//.SetDevelopment(false)
// Optional, `null` by default, useful for apache proxy modes.
//.SetBaseUrl('/node')
// Optional, custom place to log any unhandled errors.
.SetErrorHandler(async function (err, code, req, res) {
console.error(err);
logger.Error(err);
})
// Optional, to prepend any execution before `web-dev-server` module execution.
.AddPreHandler(async function (req, res, event) {
if (req.GetPath() == '/health') {
res.SetCode(200).SetBody('1').Send();
// Do not anything else in `web-dev-server` module for this request:
event.PreventDefault();
}
/*setTimeout(() => {
throw new RangeError("Uncatched test error.");
}, 1000);*/
})
// Callback param is optional. called after server has been started or after error ocured.
.Start(function (success, err) {
if (!success) return console.error(err);
console.log("Server is running.");
});