From 303d5e59d56c84716a67d2bb8f1cd5da45773f2e Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 10 Aug 2017 22:06:47 +0900 Subject: [PATCH] Fix typescript --- src/api/server.ts | 4 +++- src/api/service/github.ts | 7 +++++-- src/index.ts | 4 +++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/api/server.ts b/src/api/server.ts index 0e059f5d2..c98167eb3 100644 --- a/src/api/server.ts +++ b/src/api/server.ts @@ -45,7 +45,9 @@ app.post('/signup', require('./private/signup').default); app.post('/signin', require('./private/signin').default); app.use((req, res, next) => { - res.locals.user = ((req.headers['cookie'] || '').match(/i=(!\w+)/) || [null, null])[1]; + // req.headers['cookie'] は常に string ですが、型定義の都合上 + // string | string[] になっているので string を明示しています + res.locals.user = ((req.headers['cookie'] as string || '').match(/i=(!\w+)/) || [null, null])[1]; next(); }); diff --git a/src/api/service/github.ts b/src/api/service/github.ts index 0d6e66341..a631808ba 100644 --- a/src/api/service/github.ts +++ b/src/api/service/github.ts @@ -22,8 +22,11 @@ module.exports = async (app: express.Application) => { const handler = new EventEmitter(); app.post('/hooks/github', (req, res, next) => { - if ((new Buffer(req.headers['x-hub-signature'])).equals(new Buffer(`sha1=${crypto.createHmac('sha1', config.github_bot.hook_secret).update(JSON.stringify(req.body)).digest('hex')}`))) { - handler.emit(req.headers['x-github-event'], req.body); + // req.headers['x-hub-signature'] および + // req.headers['x-github-event'] は常に string ですが、型定義の都合上 + // string | string[] になっているので string を明示しています + if ((new Buffer(req.headers['x-hub-signature'] as string)).equals(new Buffer(`sha1=${crypto.createHmac('sha1', config.github_bot.hook_secret).update(JSON.stringify(req.body)).digest('hex')}`))) { + handler.emit(req.headers['x-github-event'] as string, req.body); res.sendStatus(200); } else { res.sendStatus(400); diff --git a/src/index.ts b/src/index.ts index da83dde10..f4f846b35 100644 --- a/src/index.ts +++ b/src/index.ts @@ -140,7 +140,9 @@ function spawnWorkers(onComplete: Function) { } // On all workers started - progress.on('complete', onComplete); + progress.on('complete', () => { + onComplete(); + }); } // Listen new workers