@webtypen/webframez-core 0.0.17 → 0.0.19
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/lib/Router/Router.d.ts +1 -1
- package/lib/Router/Router.js +32 -7
- package/package.json +1 -1
- package/src/Router/Router.ts +55 -26
package/lib/Router/Router.d.ts
CHANGED
|
@@ -103,7 +103,7 @@ declare class RouterFacade {
|
|
|
103
103
|
* @param res
|
|
104
104
|
*/
|
|
105
105
|
handleRequest(req: IncomingMessage, res: ServerResponse): Promise<void>;
|
|
106
|
-
requestConsoleLog(req: IncomingMessage): void;
|
|
106
|
+
requestConsoleLog(req: IncomingMessage, httpCode: number): void;
|
|
107
107
|
}
|
|
108
108
|
export declare const Router: RouterFacade;
|
|
109
109
|
export {};
|
package/lib/Router/Router.js
CHANGED
|
@@ -13,6 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.Router = void 0;
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
16
17
|
const qs_1 = __importDefault(require("qs"));
|
|
17
18
|
const Response_1 = require("./Response");
|
|
18
19
|
const Config_1 = require("../Config");
|
|
@@ -51,9 +52,7 @@ class RouterFacade {
|
|
|
51
52
|
this.basename = options && options.basename ? options.basename : null;
|
|
52
53
|
this.kernel = options && options.kernel ? options.kernel : null;
|
|
53
54
|
// Load routes
|
|
54
|
-
console.log("loadRoutes");
|
|
55
55
|
require(process.cwd() + "/app/routes");
|
|
56
|
-
console.log("finishRoutes");
|
|
57
56
|
}
|
|
58
57
|
/**
|
|
59
58
|
* Register a route
|
|
@@ -178,6 +177,7 @@ class RouterFacade {
|
|
|
178
177
|
handleRequest(req, res) {
|
|
179
178
|
return __awaiter(this, void 0, void 0, function* () {
|
|
180
179
|
if (!this.kernel) {
|
|
180
|
+
res.end();
|
|
181
181
|
throw new Error("Missing Kernel in Router ...");
|
|
182
182
|
}
|
|
183
183
|
const route = this.dissolve(req);
|
|
@@ -221,6 +221,7 @@ class RouterFacade {
|
|
|
221
221
|
for (let middlewareKey of route.options.middleware) {
|
|
222
222
|
const middleware = this.kernel.middleware[middlewareKey];
|
|
223
223
|
if (!middleware) {
|
|
224
|
+
this.requestConsoleLog(req, 500);
|
|
224
225
|
return this.sendError(res, 500, "Unknown middleware `" + middlewareKey + "` ...");
|
|
225
226
|
}
|
|
226
227
|
try {
|
|
@@ -232,6 +233,7 @@ class RouterFacade {
|
|
|
232
233
|
}
|
|
233
234
|
catch (e) {
|
|
234
235
|
console.error(e);
|
|
236
|
+
this.requestConsoleLog(req, 500);
|
|
235
237
|
return this.sendError(res, 500, "Error in middleware `" + middlewareKey + "` ...");
|
|
236
238
|
}
|
|
237
239
|
});
|
|
@@ -255,6 +257,7 @@ class RouterFacade {
|
|
|
255
257
|
res.statusCode = 200;
|
|
256
258
|
res.setHeader("Content-Length", "0");
|
|
257
259
|
res.end();
|
|
260
|
+
this.requestConsoleLog(req, 200);
|
|
258
261
|
return;
|
|
259
262
|
}
|
|
260
263
|
// Resolve route-component (handle controller definition)
|
|
@@ -268,25 +271,29 @@ class RouterFacade {
|
|
|
268
271
|
}
|
|
269
272
|
// Set Controller method as route-component
|
|
270
273
|
const controllerInstance = new controller();
|
|
271
|
-
route.component = controllerInstance[split[1]];
|
|
274
|
+
route.component = controllerInstance[split[1]].bind(controllerInstance);
|
|
272
275
|
}
|
|
273
276
|
if (route && route.component !== undefined) {
|
|
274
277
|
try {
|
|
275
278
|
yield route.component(request, response);
|
|
276
279
|
res.end();
|
|
280
|
+
this.requestConsoleLog(req, 200);
|
|
277
281
|
}
|
|
278
282
|
catch (e) {
|
|
279
283
|
console.error(e);
|
|
280
284
|
this.sendError(res, 500);
|
|
285
|
+
this.requestConsoleLog(req, 500);
|
|
281
286
|
}
|
|
282
287
|
}
|
|
283
288
|
else {
|
|
284
289
|
this.sendError(res, 404);
|
|
290
|
+
this.requestConsoleLog(req, 404);
|
|
285
291
|
}
|
|
286
292
|
});
|
|
287
293
|
}
|
|
288
|
-
requestConsoleLog(req) {
|
|
289
|
-
if (Config_1.Config.get("router.requests.logConsole") !== true
|
|
294
|
+
requestConsoleLog(req, httpCode) {
|
|
295
|
+
if (Config_1.Config.get("application.router.requests.logConsole") !== true &&
|
|
296
|
+
!Config_1.Config.get("application.router.requests.logFile")) {
|
|
290
297
|
return;
|
|
291
298
|
}
|
|
292
299
|
const date = new Date();
|
|
@@ -300,7 +307,7 @@ class RouterFacade {
|
|
|
300
307
|
: req.socket && req.socket.remoteAddress
|
|
301
308
|
? req.socket.remoteAddress
|
|
302
309
|
: null;
|
|
303
|
-
|
|
310
|
+
const logString = '{ date: "' +
|
|
304
311
|
date.getFullYear() +
|
|
305
312
|
"-" +
|
|
306
313
|
(month < 10 ? "0" + month : month) +
|
|
@@ -318,7 +325,25 @@ class RouterFacade {
|
|
|
318
325
|
req.url +
|
|
319
326
|
'", ip: "' +
|
|
320
327
|
ip +
|
|
321
|
-
'"
|
|
328
|
+
'", httpcode: ' +
|
|
329
|
+
httpCode.toString() +
|
|
330
|
+
" }";
|
|
331
|
+
if (Config_1.Config.get("application.router.requests.logConsole")) {
|
|
332
|
+
console.log(logString);
|
|
333
|
+
}
|
|
334
|
+
if (Config_1.Config.get("application.router.requests.logFile")) {
|
|
335
|
+
try {
|
|
336
|
+
const filepath = Config_1.Config.get("application.router.requests.logFile");
|
|
337
|
+
if (filepath && filepath.trim() !== "") {
|
|
338
|
+
fs_1.default.appendFileSync(filepath.trim().substring(0, 1) === "/"
|
|
339
|
+
? filepath
|
|
340
|
+
: process.cwd() + "/" + filepath, logString + "\n");
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
catch (e) {
|
|
344
|
+
console.error(e);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
322
347
|
}
|
|
323
348
|
}
|
|
324
349
|
exports.Router = new RouterFacade();
|
package/package.json
CHANGED
package/src/Router/Router.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import fs from "fs";
|
|
1
2
|
import qs from "qs";
|
|
2
3
|
import { IncomingMessage, ServerResponse } from "http";
|
|
3
4
|
import { Response } from "./Response";
|
|
@@ -78,9 +79,7 @@ class RouterFacade {
|
|
|
78
79
|
this.kernel = options && options.kernel ? options.kernel : null;
|
|
79
80
|
|
|
80
81
|
// Load routes
|
|
81
|
-
console.log("loadRoutes");
|
|
82
82
|
require(process.cwd() + "/app/routes");
|
|
83
|
-
console.log("finishRoutes");
|
|
84
83
|
}
|
|
85
84
|
|
|
86
85
|
/**
|
|
@@ -208,6 +207,7 @@ class RouterFacade {
|
|
|
208
207
|
*/
|
|
209
208
|
async handleRequest(req: IncomingMessage, res: ServerResponse) {
|
|
210
209
|
if (!this.kernel) {
|
|
210
|
+
res.end();
|
|
211
211
|
throw new Error("Missing Kernel in Router ...");
|
|
212
212
|
}
|
|
213
213
|
|
|
@@ -258,6 +258,7 @@ class RouterFacade {
|
|
|
258
258
|
for (let middlewareKey of route.options.middleware) {
|
|
259
259
|
const middleware = this.kernel.middleware[middlewareKey];
|
|
260
260
|
if (!middleware) {
|
|
261
|
+
this.requestConsoleLog(req, 500);
|
|
261
262
|
return this.sendError(
|
|
262
263
|
res,
|
|
263
264
|
500,
|
|
@@ -279,6 +280,7 @@ class RouterFacade {
|
|
|
279
280
|
} catch (e) {
|
|
280
281
|
console.error(e);
|
|
281
282
|
|
|
283
|
+
this.requestConsoleLog(req, 500);
|
|
282
284
|
return this.sendError(
|
|
283
285
|
res,
|
|
284
286
|
500,
|
|
@@ -311,6 +313,7 @@ class RouterFacade {
|
|
|
311
313
|
res.statusCode = 200;
|
|
312
314
|
res.setHeader("Content-Length", "0");
|
|
313
315
|
res.end();
|
|
316
|
+
this.requestConsoleLog(req, 200);
|
|
314
317
|
return;
|
|
315
318
|
}
|
|
316
319
|
|
|
@@ -326,24 +329,30 @@ class RouterFacade {
|
|
|
326
329
|
|
|
327
330
|
// Set Controller method as route-component
|
|
328
331
|
const controllerInstance = new controller();
|
|
329
|
-
route.component = controllerInstance[split[1]];
|
|
332
|
+
route.component = controllerInstance[split[1]].bind(controllerInstance);
|
|
330
333
|
}
|
|
331
334
|
|
|
332
335
|
if (route && route.component !== undefined) {
|
|
333
336
|
try {
|
|
334
337
|
await route.component(request, response);
|
|
335
338
|
res.end();
|
|
339
|
+
this.requestConsoleLog(req, 200);
|
|
336
340
|
} catch (e) {
|
|
337
341
|
console.error(e);
|
|
338
342
|
this.sendError(res, 500);
|
|
343
|
+
this.requestConsoleLog(req, 500);
|
|
339
344
|
}
|
|
340
345
|
} else {
|
|
341
346
|
this.sendError(res, 404);
|
|
347
|
+
this.requestConsoleLog(req, 404);
|
|
342
348
|
}
|
|
343
349
|
}
|
|
344
350
|
|
|
345
|
-
requestConsoleLog(req: IncomingMessage) {
|
|
346
|
-
if (
|
|
351
|
+
requestConsoleLog(req: IncomingMessage, httpCode: number) {
|
|
352
|
+
if (
|
|
353
|
+
Config.get("application.router.requests.logConsole") !== true &&
|
|
354
|
+
!Config.get("application.router.requests.logFile")
|
|
355
|
+
) {
|
|
347
356
|
return;
|
|
348
357
|
}
|
|
349
358
|
|
|
@@ -358,28 +367,48 @@ class RouterFacade {
|
|
|
358
367
|
: req.socket && req.socket.remoteAddress
|
|
359
368
|
? req.socket.remoteAddress
|
|
360
369
|
: null;
|
|
361
|
-
|
|
362
|
-
console.log(
|
|
370
|
+
const logString =
|
|
363
371
|
'{ date: "' +
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
372
|
+
date.getFullYear() +
|
|
373
|
+
"-" +
|
|
374
|
+
(month < 10 ? "0" + month : month) +
|
|
375
|
+
"-" +
|
|
376
|
+
date.getDate() +
|
|
377
|
+
" " +
|
|
378
|
+
(date.getHours() + 1) +
|
|
379
|
+
":" +
|
|
380
|
+
date.getMinutes() +
|
|
381
|
+
":" +
|
|
382
|
+
date.getSeconds() +
|
|
383
|
+
'", method: "' +
|
|
384
|
+
req.method +
|
|
385
|
+
'", url: "' +
|
|
386
|
+
req.url +
|
|
387
|
+
'", ip: "' +
|
|
388
|
+
ip +
|
|
389
|
+
'", httpcode: ' +
|
|
390
|
+
httpCode.toString() +
|
|
391
|
+
" }";
|
|
392
|
+
|
|
393
|
+
if (Config.get("application.router.requests.logConsole")) {
|
|
394
|
+
console.log(logString);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
if (Config.get("application.router.requests.logFile")) {
|
|
398
|
+
try {
|
|
399
|
+
const filepath = Config.get("application.router.requests.logFile");
|
|
400
|
+
if (filepath && filepath.trim() !== "") {
|
|
401
|
+
fs.appendFileSync(
|
|
402
|
+
filepath.trim().substring(0, 1) === "/"
|
|
403
|
+
? filepath
|
|
404
|
+
: process.cwd() + "/" + filepath,
|
|
405
|
+
logString + "\n"
|
|
406
|
+
);
|
|
407
|
+
}
|
|
408
|
+
} catch (e) {
|
|
409
|
+
console.error(e);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
383
412
|
}
|
|
384
413
|
}
|
|
385
414
|
|