textbrowser 0.42.6 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +4 -0
- package/package.json +1 -1
- package/server/main.js +17 -3
package/CHANGES.md
CHANGED
package/package.json
CHANGED
package/server/main.js
CHANGED
|
@@ -53,6 +53,7 @@ const optionDefinitions = [
|
|
|
53
53
|
{name: 'files', type: String},
|
|
54
54
|
{name: 'namespace', type: String},
|
|
55
55
|
|
|
56
|
+
{name: 'httpServer', type: String},
|
|
56
57
|
{name: 'expressServer', type: String}
|
|
57
58
|
];
|
|
58
59
|
const userParams = commandLineArgs(optionDefinitions);
|
|
@@ -123,9 +124,22 @@ const srv = http.createServer(async (req, res) => {
|
|
|
123
124
|
};
|
|
124
125
|
if (userParams.expressServer) {
|
|
125
126
|
// eslint-disable-next-line no-unsanitized/method -- Site-specified plugin
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
const app = (await import(userParams.expressServer)).default();
|
|
128
|
+
|
|
129
|
+
if (userParams.httpServer && !app._router.stack.some(({regexp}) => {
|
|
130
|
+
// Hack to ignore middleware like jsonParser (and hopefully
|
|
131
|
+
// not get any other)
|
|
132
|
+
return regexp.source !== '^\\/?(?=\\/|$)' && regexp.test(req.url);
|
|
133
|
+
})) {
|
|
134
|
+
// eslint-disable-next-line no-unsanitized/method -- Site-specified plugin
|
|
135
|
+
const server = (await import(userParams.httpServer)).default();
|
|
136
|
+
server(req, res);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
app.get('*', staticServer);
|
|
141
|
+
app(req, res);
|
|
142
|
+
|
|
129
143
|
return;
|
|
130
144
|
}
|
|
131
145
|
req.addListener('end', staticServer).resume();
|