Kong/insomnia · error · Error
Failed to fetch "${href}". Only https URLs to public hosts a
Error message
Failed to fetch "${href}". Only https URLs to public hosts are allowed. What it means
Error "Failed to fetch "${href}". Only https URLs to public hosts are allowed." thrown in Kong/insomnia.
Source
Thrown at packages/insomnia/src/main/lint-process.mjs:79
return Boolean(url.hostname) && !isPrivateOrLoopbackHost(url.hostname.toLowerCase());
}
// Note: This is duplicated in inso's lint-specification.ts. Remember to mirror changes there as well.
async function assertResolvesToPublicHost(hostname) {
const records = await dns.lookup(hostname, { all: true });
for (const { address } of records) {
if (isPrivateOrLoopbackHost(address)) {
throw new Error(`Failed to resolve host. "${hostname}" resolves to a private or loopback address.`);
}
}
}
// Note: This is duplicated in inso's lint-specification.ts. Remember to mirror changes there as well.
const safeHttpResolver = {
async resolve(ref) {
const href = ref.href();
if (!isSafeRefUrl(href)) {
throw new Error(`Failed to fetch "${href}". Only https URLs to public hosts are allowed.`);
}
await assertResolvesToPublicHost(new URL(href).hostname.toLowerCase());
const response = await fetch(href, { redirect: 'error', signal: AbortSignal.timeout(10_000) });
if (!response.ok) {
throw new Error(`Failed to fetch "${href}": ${response.status} ${response.statusText}`);
}
return response.text();
},
};
// Note: This is duplicated in inso's lint-specification.ts. Remember to mirror changes there as well.
const safeRefResolver = new Resolver({
resolvers: {
http: safeHttpResolver,
https: safeHttpResolver,
},
});
View on GitHub (pinned to d9bb2b0142)
When it happens
Trigger: Thrown at packages/insomnia/src/main/lint-process.mjs:79 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Kong/insomnia@d9bb2b0142 (2026-08-26).
Data as JSON: /api/errors/6c7c07a5fdd38fa6.
Report an issue: GitHub.