{"record":{"id":"f09d33a4cf2ad958","repo":"sqlmapproject/sqlmap","slug":"callers-may-not-inject-http-2-pseudo-fields","errorCode":null,"errorMessage":"callers may not inject HTTP/2 pseudo-fields","messagePattern":"callers may not inject HTTP/2 pseudo-fields","errorType":"exception","errorClass":"H2ProtocolError","httpStatus":null,"severity":"error","filePath":"lib/request/http2.py","lineNumber":712,"sourceCode":"            raise H2ProtocolError(\"invalid octet in %s pseudo-field\" % name)\n\n\ndef _validate_method(method):\n    if not method:\n        raise H2ProtocolError(\"method is required\")\n    for item in bytearray(method):\n        if item not in _METHOD_TOKEN_BYTES:\n            raise H2ProtocolError(\"invalid HTTP method token\")\n\n\ndef _normalize_request_headers(headers, body):\n    raw_items = []\n    connection_tokens = set()\n    for key, value in _iter_header_items(headers):\n        name = _as_bytes(key).lower()\n        val = _as_bytes(value)\n        if name.startswith(b\":\"):\n            raise H2ProtocolError(\"callers may not inject HTTP/2 pseudo-fields\")\n        _validate_regular_name(name)\n        _validate_field_value(val)\n        raw_items.append((name, val))\n        if name == b\"connection\":\n            for token in val.split(b\",\"):\n                token = token.strip().lower()\n                if token:\n                    _validate_regular_name(token)\n                    connection_tokens.add(token)\n\n    normalized = []\n    content_lengths = []\n    content_length_added = False\n    for name, value in raw_items:\n        if name == b\"host\" or name == b\"proxy-authorization\":\n            continue\n        if name in _CONNECTION_FIELDS or name in connection_tokens:\n            continue","sourceCodeStart":694,"sourceCodeEnd":730,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/lib/request/http2.py#L694-L730","documentation":"Error \"callers may not inject HTTP/2 pseudo-fields\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at lib/request/http2.py:712 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":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}