rest outdial: handle 302 redirect so we can later cancel request if needed (#95)

This commit is contained in:
Dave Horton
2022-04-01 14:35:58 -04:00
parent c77611f034
commit 34bb992597

View File

@@ -132,8 +132,14 @@ router.post('/', async(req, res) => {
try {
const dlg = await srf.createUAC(uri, {...opts, followRedirects: true, keepUriOnRedirect: true}, {
cbRequest: (err, inviteReq) => {
/* in case of 302 redirect, this gets called twice, ignore the second */
if (res.headersSent) return;
/* in case of 302 redirect, this gets called twice, ignore the second
except to update the req so that it can later be canceled if need be
*/
if (res.headersSent) {
logger.info(`create-call: got redirect, updating request to new call-id ${req.get('Call-ID')}`);
if (cs) cs.req = inviteReq;
return;
}
if (err) {
logger.error(err, 'createCall Error creating call');