{"record":{"id":"57a5f7b061da5832","repo":"headroomlabs-ai/headroom","slug":"invalid-strip-internal-headers-env-normalized-r","errorCode":null,"errorMessage":"Invalid {STRIP_INTERNAL_HEADERS_ENV}={normalized!r}; expected 'enabled' or 'disabled'","messagePattern":"Invalid (.+?)=(.+?); expected 'enabled' or 'disabled'","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"headroom/proxy/internal_header_policy.py","lineNumber":22,"sourceCode":"\nfrom collections.abc import Mapping\nfrom typing import Literal, cast\n\nINTERNAL_HEADER_PREFIX = \"x-headroom-\"\nSTRIP_INTERNAL_HEADERS_ENV = \"HEADROOM_STRIP_INTERNAL_HEADERS\"\nStripInternalHeadersMode = Literal[\"enabled\", \"disabled\"]\nSTRIP_INTERNAL_HEADERS_DEFAULT: StripInternalHeadersMode = \"enabled\"\n\n\ndef resolve_strip_internal_headers_mode(raw: str | None) -> StripInternalHeadersMode:\n    \"\"\"Resolve the configured internal-header strip mode.\"\"\"\n\n    normalized = (raw or \"\").strip().lower()\n    if not normalized:\n        return STRIP_INTERNAL_HEADERS_DEFAULT\n    if normalized in (\"enabled\", \"disabled\"):\n        return cast(StripInternalHeadersMode, normalized)\n    raise ValueError(\n        f\"Invalid {STRIP_INTERNAL_HEADERS_ENV}={normalized!r}; expected 'enabled' or 'disabled'\"\n    )\n\n\ndef strip_internal_headers(\n    headers: Mapping[str, str],\n    *,\n    mode: StripInternalHeadersMode,\n) -> dict[str, str]:\n    \"\"\"Return a copy of headers with internal x-headroom-* request headers removed.\"\"\"\n\n    if mode == \"disabled\":\n        return dict(headers)\n    return {\n        key: value\n        for key, value in headers.items()\n        if not key.lower().startswith(INTERNAL_HEADER_PREFIX)\n    }","sourceCodeStart":4,"sourceCodeEnd":40,"githubUrl":"https://github.com/headroomlabs-ai/headroom/blob/322425c43bffde1ed0b64fecf3cf5951565dd82b/headroom/proxy/internal_header_policy.py#L4-L40","documentation":"Error \"Invalid {STRIP_INTERNAL_HEADERS_ENV}={normalized!r}; expected 'enabled' or 'disabled'\" thrown in headroomlabs-ai/headroom.","triggerScenarios":"Raised at startup when the internal-header stripping policy environment variable holds a value other than 'enabled' or 'disabled'.","commonSituations":"See trigger scenarios.","solutions":["Set {STRIP_INTERNAL_HEADERS_ENV} to 'enabled' or 'disabled' (case-insensitive)","Unset the variable to use the default policy"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"322425c43bffde1ed0b64fecf3cf5951565dd82b","analyzedAt":"2026-08-15T01:03:05.481Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}