diff options
Diffstat (limited to 'src/lib/request-handler.js')
-rw-r--r-- | src/lib/request-handler.js | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/lib/request-handler.js b/src/lib/request-handler.js index 4330b6b..e7f9fe2 100644 --- a/src/lib/request-handler.js +++ b/src/lib/request-handler.js @@ -35,14 +35,17 @@ class RequestHandler { if (this.handlers.has(message.requestType)) { const f = this.handlers.get(message.requestType) - const result = f(message.requestData || {}, message.requestNo, connection) + const result = f(message.requestData || {}, connection) if (result instanceof Promise) { - result.catch(error => { - this.logger.error(`${message.requestType}:`, error) - + result.then(data => { + connection.send( + new ResponseMessage(message.requestNo) + .setData(data) + ) + }).catch(error => { connection.send( new ResponseMessage(message.requestNo) - .setError('server error: ' + error?.message) + .setError(error?.message) ) }) } @@ -56,4 +59,6 @@ class RequestHandler { } -module.exports = RequestHandler
\ No newline at end of file +module.exports = { + RequestHandler +}
\ No newline at end of file |