X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=src%2Fservice.js;fp=src%2Fservice.js;h=b49882989e7544e40a5f368f3f7dcd8a133c9487;hb=a11a8b4c83e3de5b5cf4c7d0687d7b7db932aa6e;hp=e76959978eddab7a554dbe80eb4d31ffa9c10d8a;hpb=c932eea878eee54bac69f004545662b0b67fc237;p=websub-hub diff --git a/src/service.js b/src/service.js index e769599..b498829 100644 --- a/src/service.js +++ b/src/service.js @@ -15,12 +15,12 @@ const path = require('path'); const _fileScope = common.fileScope(__filename); class Service extends Dingus { - constructor(logger, db, options) { + constructor(logger, db, options, asyncLocalStorage) { super(logger, { ...options.dingus, ignoreTrailingSlash: false, }); - + this.asyncLocalStorage = asyncLocalStorage; this.manager = new Manager(logger, db, options); this.authenticator = new Authenticator(logger, db, options); this.sessionManager = new SessionManager(logger, this.authenticator, options); @@ -70,6 +70,17 @@ class Service extends Dingus { } + /** + * Rearrange logging data. + */ + async preHandler(req, res, ctx) { + await super.preHandler(req, res, ctx); + const logObject = this.asyncLocalStorage.getStore(); + logObject.requestId = ctx.requestId; + delete ctx.requestId; + } + + /** * @param {http.ClientRequest} req * @param {http.ServerResponse} res