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.