@twilio-labs/serverless-api
Version:
API-wrapper for the Twilio Serverless API
25 lines (24 loc) • 920 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getApiUrl = void 0;
const regionEdgeMap = {
us1: 'ashburn',
au1: 'sydney',
ie1: 'dublin',
'stage-us1': 'ashburn',
'stage-au1': 'sydney',
};
function getApiUrl(config, product = 'serverless', apiVersion = 'v1') {
const configEdge = config.edge || process.env.TWILIO_EDGE;
const configRegion = config.region || process.env.TWILIO_REGION;
const region = configRegion ? `${configRegion}.` : '';
if (!configEdge && configRegion) {
const defaultEdge = regionEdgeMap[configRegion]
? `${regionEdgeMap[configRegion]}.`
: '';
return `https://${product}.${defaultEdge}${region}twilio.com/${apiVersion}`;
}
const edge = configEdge ? `${configEdge}.` : '';
return `https://${product}.${edge}${region}twilio.com/${apiVersion}`;
}
exports.getApiUrl = getApiUrl;
;