{"record":{"id":"c082aa653ab31294","repo":"sqlmapproject/sqlmap","slug":"101-switching-protocols-is-not-valid-in-http-2","errorCode":null,"errorMessage":"101 Switching Protocols is not valid in HTTP/2","messagePattern":"101 Switching Protocols is not valid in HTTP/2","errorType":"exception","errorClass":"H2ProtocolError","httpStatus":null,"severity":"error","filePath":"lib/request/http2.py","lineNumber":872,"sourceCode":"\n\ndef _validate_response_field_section(headers, trailers=False):\n    regular_seen = False\n    status = None\n    for name, value in headers:\n        name = _as_bytes(name)\n        value = _as_bytes(value)\n        _validate_field_value(value)\n        if name.startswith(b\":\"):\n            if trailers or regular_seen or name != b\":status\" or status is not None:\n                raise H2ProtocolError(\"invalid response pseudo-field ordering or duplication\")\n            if len(value) != 3 or not value.isdigit():\n                raise H2ProtocolError(\"invalid :status pseudo-field\")\n            status = int(value)\n            if not 100 <= status <= 599:\n                raise H2ProtocolError(\"response status is outside the valid range\")\n            if status == 101:\n                raise H2ProtocolError(\"101 Switching Protocols is not valid in HTTP/2\")\n        else:\n            regular_seen = True\n            if name.lower() != name:\n                raise H2ProtocolError(\"uppercase HTTP/2 field name\")\n            _validate_regular_name(name)\n            if name in _CONNECTION_FIELDS:\n                raise H2ProtocolError(\"connection-specific field in HTTP/2 response\")\n    content_length = _parse_content_length(headers, trailers=trailers)\n    if trailers:\n        return None, None\n    if status is None:\n        raise H2ProtocolError(\"response field section lacks :status\")\n    return status, content_length\n\n\nclass _ResponseState(object):\n    def __init__(self, stream_id, request_method):\n        self.stream_id = stream_id","sourceCodeStart":854,"sourceCodeEnd":890,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/lib/request/http2.py#L854-L890","documentation":"Error \"101 Switching Protocols is not valid in HTTP/2\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at lib/request/http2.py:872 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"}