fix for #186: unhandled error when amd webhook returns non-success status code

This commit is contained in:
Dave Horton
2022-11-05 10:27:00 -04:00
parent 19098aee98
commit 9fd116b05f
5 changed files with 19 additions and 11 deletions

View File

@@ -146,7 +146,11 @@ class TaskConfig extends Task {
_onAmdEvent(cs, evt) { _onAmdEvent(cs, evt) {
this.logger.info({evt}, 'Config:_onAmdEvent'); this.logger.info({evt}, 'Config:_onAmdEvent');
const {actionHook} = this.data.amd; const {actionHook} = this.data.amd;
this.performHook(cs, actionHook, evt); this.performHook(cs, actionHook, evt)
.catch((err) => {
this.logger.error({err}, 'Config:_onAmdEvent - error calling actionHook');
});
} }
} }

View File

@@ -689,7 +689,10 @@ class TaskDial extends Task {
_onAmdEvent(cs, evt) { _onAmdEvent(cs, evt) {
this.logger.info({evt}, 'Dial:_onAmdEvent'); this.logger.info({evt}, 'Dial:_onAmdEvent');
const {actionHook} = this.data.amd; const {actionHook} = this.data.amd;
this.performHook(cs, actionHook, evt); this.performHook(cs, actionHook, evt)
.catch((err) => {
this.logger.error({err}, 'Dial:_onAmdEvent - error calling actionHook');
});
} }
} }

View File

@@ -21,6 +21,7 @@ const handleErrors = (logger, app, resolve, reject, e) => {
server.on('error', handleErrors.bind(null, logger, app, resolve, reject)); server.on('error', handleErrors.bind(null, logger, app, resolve, reject));
return; return;
} }
logger.info({err: e, port: PORT}, 'httpListener error');
reject(e); reject(e);
}; };
@@ -30,7 +31,7 @@ const createHttpListener = (logger, srf) => {
app.use(express.urlencoded({ extended: true })); app.use(express.urlencoded({ extended: true }));
app.use(express.json()); app.use(express.json());
app.use('/', httpRoutes); app.use('/', httpRoutes);
app.use((err, req, res, next) => { app.use((err, _req, res, _next) => {
logger.error(err, 'burped error'); logger.error(err, 'burped error');
res.status(err.status || 500).json({msg: err.message}); res.status(err.status || 500).json({msg: err.message});
}); });

14
package-lock.json generated
View File

@@ -11,7 +11,7 @@
"dependencies": { "dependencies": {
"@jambonz/db-helpers": "^0.7.3", "@jambonz/db-helpers": "^0.7.3",
"@jambonz/http-health-check": "^0.0.1", "@jambonz/http-health-check": "^0.0.1",
"@jambonz/realtimedb-helpers": "^0.5.3", "@jambonz/realtimedb-helpers": "^0.5.5",
"@jambonz/stats-collector": "^0.1.6", "@jambonz/stats-collector": "^0.1.6",
"@jambonz/time-series": "^0.2.5", "@jambonz/time-series": "^0.2.5",
"@opentelemetry/api": "^1.1.0", "@opentelemetry/api": "^1.1.0",
@@ -543,9 +543,9 @@
} }
}, },
"node_modules/@jambonz/realtimedb-helpers": { "node_modules/@jambonz/realtimedb-helpers": {
"version": "0.5.3", "version": "0.5.5",
"resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.5.3.tgz", "resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.5.5.tgz",
"integrity": "sha512-hZdSSdl3vfes4iiP3IMhZ3IoUTih1IOCLznhFi2ntkKJM9TPZLrOTePJ9rJQXr0WIm8FPxoAnJilL4yWPKWwTg==", "integrity": "sha512-tQJfTqN1FtFfKR9ceBYuQ9yddCDshBGVI6v1N/IxOyhTywyueNFXg6JMIOx0Rci7UqIDhtcBjl5R64zWgTo04A==",
"dependencies": { "dependencies": {
"@google-cloud/text-to-speech": "^4.0.3", "@google-cloud/text-to-speech": "^4.0.3",
"@grpc/grpc-js": "^1.7.3", "@grpc/grpc-js": "^1.7.3",
@@ -7087,9 +7087,9 @@
} }
}, },
"@jambonz/realtimedb-helpers": { "@jambonz/realtimedb-helpers": {
"version": "0.5.3", "version": "0.5.5",
"resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.5.3.tgz", "resolved": "https://registry.npmjs.org/@jambonz/realtimedb-helpers/-/realtimedb-helpers-0.5.5.tgz",
"integrity": "sha512-hZdSSdl3vfes4iiP3IMhZ3IoUTih1IOCLznhFi2ntkKJM9TPZLrOTePJ9rJQXr0WIm8FPxoAnJilL4yWPKWwTg==", "integrity": "sha512-tQJfTqN1FtFfKR9ceBYuQ9yddCDshBGVI6v1N/IxOyhTywyueNFXg6JMIOx0Rci7UqIDhtcBjl5R64zWgTo04A==",
"requires": { "requires": {
"@google-cloud/text-to-speech": "^4.0.3", "@google-cloud/text-to-speech": "^4.0.3",
"@grpc/grpc-js": "^1.7.3", "@grpc/grpc-js": "^1.7.3",

View File

@@ -26,7 +26,7 @@
"dependencies": { "dependencies": {
"@jambonz/http-health-check": "^0.0.1", "@jambonz/http-health-check": "^0.0.1",
"@jambonz/db-helpers": "^0.7.3", "@jambonz/db-helpers": "^0.7.3",
"@jambonz/realtimedb-helpers": "^0.5.3", "@jambonz/realtimedb-helpers": "^0.5.5",
"@jambonz/stats-collector": "^0.1.6", "@jambonz/stats-collector": "^0.1.6",
"@jambonz/time-series": "^0.2.5", "@jambonz/time-series": "^0.2.5",
"@opentelemetry/api": "^1.1.0", "@opentelemetry/api": "^1.1.0",