{"record":{"id":"a8e1588079d4cf79","repo":"nikivdev/code","slug":"target-is-empty","errorCode":null,"errorMessage":"Target is empty","messagePattern":"Target is empty","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/domains.rs","lineNumber":301,"sourceCode":"    if !host.ends_with(\".localhost\") {\n        bail!(\"Host must end with .localhost\");\n    }\n    if host == \".localhost\" || host == \"localhost\" {\n        bail!(\"Host must include a subdomain (for example: linsa.localhost)\");\n    }\n    Ok(host)\n}\n\nfn normalize_target(raw: &str) -> Result<String> {\n    let mut target = raw.trim().to_string();\n    if let Some(stripped) = target.strip_prefix(\"http://\") {\n        target = stripped.to_string();\n    } else if let Some(stripped) = target.strip_prefix(\"https://\") {\n        target = stripped.to_string();\n    }\n    target = target.trim_end_matches('/').to_string();\n    if target.is_empty() {\n        bail!(\"Target is empty\");\n    }\n    if target.contains('/') || target.contains('?') || target.contains('#') {\n        bail!(\"Target must be host:port\");\n    }\n\n    let (host, port) = target\n        .rsplit_once(':')\n        .context(\"Target must include port (for example: 127.0.0.1:3481)\")?;\n    if host.trim().is_empty() {\n        bail!(\"Target host is empty\");\n    }\n    let port_num = port\n        .trim()\n        .parse::<u16>()\n        .context(\"Target port must be a valid number\")?;\n    Ok(format!(\"{}:{}\", host.trim(), port_num))\n}\n","sourceCodeStart":283,"sourceCodeEnd":319,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/domains.rs#L283-L319","documentation":"Error \"Target is empty\" thrown in nikivdev/code.","triggerScenarios":"Thrown at src/domains.rs:301 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":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}