mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 16:50:39 +00:00
bugfix: switching to http webhook during a ws session
This commit is contained in:
@@ -2,7 +2,6 @@ const {Client, Pool} = require('undici');
|
|||||||
const parseUrl = require('parse-url');
|
const parseUrl = require('parse-url');
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const BaseRequestor = require('./base-requestor');
|
const BaseRequestor = require('./base-requestor');
|
||||||
const WsRequestor = require('./ws-requestor');
|
|
||||||
const {HookMsgTypes} = require('./constants.json');
|
const {HookMsgTypes} = require('./constants.json');
|
||||||
const snakeCaseKeys = require('./snakecase-keys');
|
const snakeCaseKeys = require('./snakecase-keys');
|
||||||
const pools = new Map();
|
const pools = new Map();
|
||||||
@@ -94,6 +93,7 @@ class HttpRequestor extends BaseRequestor {
|
|||||||
|
|
||||||
/* if we have an absolute url, and it is ws then do a websocket connection */
|
/* if we have an absolute url, and it is ws then do a websocket connection */
|
||||||
if (this._isAbsoluteUrl(url) && url.startsWith('ws')) {
|
if (this._isAbsoluteUrl(url) && url.startsWith('ws')) {
|
||||||
|
const WsRequestor = require('./ws-requestor');
|
||||||
this.logger.debug({hook}, 'HttpRequestor: switching to websocket connection');
|
this.logger.debug({hook}, 'HttpRequestor: switching to websocket connection');
|
||||||
const h = typeof hook === 'object' ? hook : {url: hook};
|
const h = typeof hook === 'object' ? hook : {url: hook};
|
||||||
const requestor = new WsRequestor(this.logger, this.account_sid, h, this.secret);
|
const requestor = new WsRequestor(this.logger, this.account_sid, h, this.secret);
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ const short = require('short-uuid');
|
|||||||
const {HookMsgTypes} = require('./constants.json');
|
const {HookMsgTypes} = require('./constants.json');
|
||||||
const Websocket = require('ws');
|
const Websocket = require('ws');
|
||||||
const snakeCaseKeys = require('./snakecase-keys');
|
const snakeCaseKeys = require('./snakecase-keys');
|
||||||
const HttpRequestor = require('./http-requestor');
|
|
||||||
const MAX_RECONNECTS = 5;
|
const MAX_RECONNECTS = 5;
|
||||||
const RESPONSE_TIMEOUT_MS = process.env.JAMBONES_WS_API_MSG_RESPONSE_TIMEOUT || 5000;
|
const RESPONSE_TIMEOUT_MS = process.env.JAMBONES_WS_API_MSG_RESPONSE_TIMEOUT || 5000;
|
||||||
|
|
||||||
@@ -53,6 +52,7 @@ class WsRequestor extends BaseRequestor {
|
|||||||
|
|
||||||
/* if we have an absolute url, and it is http then do a standard webhook */
|
/* if we have an absolute url, and it is http then do a standard webhook */
|
||||||
if (this._isAbsoluteUrl(url) && url.startsWith('http')) {
|
if (this._isAbsoluteUrl(url) && url.startsWith('http')) {
|
||||||
|
const HttpRequestor = require('./http-requestor');
|
||||||
this.logger.debug({hook}, 'WsRequestor: sending a webhook (HTTP)');
|
this.logger.debug({hook}, 'WsRequestor: sending a webhook (HTTP)');
|
||||||
const h = typeof hook === 'object' ? hook : {url: hook};
|
const h = typeof hook === 'object' ? hook : {url: hook};
|
||||||
const requestor = new HttpRequestor(this.logger, this.account_sid, h, this.secret);
|
const requestor = new HttpRequestor(this.logger, this.account_sid, h, this.secret);
|
||||||
|
|||||||
Reference in New Issue
Block a user