{"record":{"id":"b95f65c12ff05c5a","repo":"diegosouzapw/OmniRoute","slug":"video-artifact-url-blocked","errorCode":"VIDEO_ARTIFACT_URL_BLOCKED","errorMessage":"Video artifact host resolves to a blocked address","messagePattern":"Video artifact host resolves to a blocked address","errorType":"error_code","errorClass":"VeoArtifactError","httpStatus":502,"severity":"error","filePath":"open-sse/executors/veoaifree-web.ts","lineNumber":407,"sourceCode":"  }\n\n  if (url.protocol !== \"https:\") {\n    throw new VeoArtifactError(\n      \"VIDEO_ARTIFACT_URL_INVALID\",\n      \"Video artifact URL must use HTTPS\",\n      502\n    );\n  }\n\n  return url;\n}\n\nasync function assertHostnameResolvesPublic(hostname: string): Promise<void> {\n  const bare =\n    hostname.startsWith(\"[\") && hostname.endsWith(\"]\") ? hostname.slice(1, -1) : hostname;\n  if (isIP(bare)) {\n    if (isPrivateHost(bare)) {\n      throw new VeoArtifactError(\n        \"VIDEO_ARTIFACT_URL_BLOCKED\",\n        \"Video artifact host resolves to a blocked address\",\n        502\n      );\n    }\n    return;\n  }\n\n  let resolved: Array<{ address: string }>;\n  try {\n    resolved = await dns.promises.lookup(bare, { all: true });\n  } catch {\n    throw new VeoArtifactError(\n      \"VIDEO_ARTIFACT_DOWNLOAD_FAILED\",\n      \"Video artifact host could not be resolved\",\n      502\n    );\n  }","sourceCodeStart":389,"sourceCodeEnd":425,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/open-sse/executors/veoaifree-web.ts#L389-L425","documentation":"Error \"Video artifact host resolves to a blocked address\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at open-sse/executors/veoaifree-web.ts:407 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}