{"record":{"id":"c7766986d10a3680","repo":"zeroclaw-labs/zeroclaw","slug":"url-cannot-be-empty-c77669","errorCode":null,"errorMessage":"URL cannot be empty","messagePattern":"URL cannot be empty","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-tools/src/web_fetch.rs","lineNumber":706,"sourceCode":"    Ok(ResolvedWebFetchTarget {\n        url: canonical_url.to_string(),\n        host,\n        resolved_addrs: resolved_addrs.unwrap_or_default(),\n    })\n}\n\nfn validate_target_url_with_dns_check(\n    raw_url: &str,\n    allowed_domains: &[String],\n    blocked_domains: &[String],\n    allowed_private_hosts: &[String],\n    tool_name: &str,\n    validate_dns: impl FnOnce(&str, bool) -> anyhow::Result<()>,\n) -> anyhow::Result<String> {\n    let url = raw_url.trim();\n\n    if url.is_empty() {\n        anyhow::bail!(\"URL cannot be empty\");\n    }\n\n    if url.chars().any(char::is_whitespace) {\n        anyhow::bail!(\"URL cannot contain whitespace\");\n    }\n\n    if !url.starts_with(\"http://\") && !url.starts_with(\"https://\") {\n        anyhow::bail!(\"Only http:// and https:// URLs are allowed\");\n    }\n\n    if allowed_domains.is_empty() {\n        anyhow::bail!(\n            \"{tool_name} tool is enabled but no allowed_domains are configured. \\\n             Add [{tool_name}].allowed_domains in config.toml\"\n        );\n    }\n\n    let host = extract_host(url)?;","sourceCodeStart":688,"sourceCodeEnd":724,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-tools/src/web_fetch.rs#L688-L724","documentation":"Error \"URL cannot be empty\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-tools/src/web_fetch.rs:706 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide a non-empty URL."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}