UNPKG

@fanoutio/grip

Version:
25 lines (24 loc) 935 B
import { PUBLIC_KEY_FASTLY_FANOUT_JWK } from './keys.js'; import { parseGripUri } from '../utilities/grip.js'; export function buildFanoutGripConfig(params) { const gripUrl = buildFanoutGripUrl(params); return parseGripUri(gripUrl); } export function buildFanoutGripUrl(params) { const { serviceId, apiToken, baseUrl, verifyIss, verifyKey, } = params; const url = new URL(baseUrl ?? `https://api.fastly.com/service/${serviceId}`); url.searchParams.set('key', apiToken); url.searchParams.set('verify-iss', verifyIss ?? `fastly:${serviceId}`); let verifyKeyValue; if (typeof verifyKey === 'string') { verifyKeyValue = verifyKey; } else if (verifyKey != null) { verifyKeyValue = JSON.stringify(verifyKey); } else { verifyKeyValue = JSON.stringify(PUBLIC_KEY_FASTLY_FANOUT_JWK); } url.searchParams.set('verify-key', verifyKeyValue); return String(url); }