@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.
@@ -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 {};
@@ -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
- console.log('{ date: "' +
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webtypen/webframez-core",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "description": "The core package of the typescript based webframez (web-framework) by webtypen.de",
5
5
  "homepage": "https://webtypen.de/",
6
6
  "license": "MIT",
@@ -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 (Config.get("router.requests.logConsole") !== true) {
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
- date.getFullYear() +
365
- "-" +
366
- (month < 10 ? "0" + month : month) +
367
- "-" +
368
- date.getDate() +
369
- " " +
370
- (date.getHours() + 1) +
371
- ":" +
372
- date.getMinutes() +
373
- ":" +
374
- date.getSeconds() +
375
- '", method: "' +
376
- req.method +
377
- '", url: "' +
378
- req.url +
379
- '", ip: "' +
380
- ip +
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