rohitg00/ai-engineering-from-scratch · error · ValueError

Transfer-Encoding is not supported

Error message

Transfer-Encoding is not supported

What it means

Error "Transfer-Encoding is not supported" thrown in rohitg00/ai-engineering-from-scratch.

Source

Thrown at phases/13-tools-and-protocols/09-mcp-transports/code/main.py:244

    for name in ROUTING_HEADERS:
        if len(get_all(name, [])) > 1:
            raise RpcFault(-32020, f"Duplicate routing header: {name}")


def reject_duplicate_origin(headers: Any) -> None:
    get_all = getattr(headers, "get_all", None)
    if callable(get_all) and len(get_all("Origin", [])) > 1:
        raise RpcFault(-32020, "Duplicate Origin header")


def reject_ambiguous_body_framing(headers: Any) -> None:
    get_all = getattr(headers, "get_all", None)
    if not callable(get_all):
        return
    if len(get_all("Content-Length", [])) > 1:
        raise ValueError("duplicate Content-Length headers are not allowed")
    if get_all("Transfer-Encoding", []):
        raise ValueError("Transfer-Encoding is not supported")


def dispatch(message: dict[str, Any]) -> dict[str, Any] | None:
    if "id" not in message:
        return None
    request_id = message["id"]
    try:
        version = validate_request_structure(message)
        validate_supported_version(version)
        method = message["method"]
        params = message["params"]
        if method == "server/discover":
            result = complete(
                {
                    "supportedVersions": SUPPORTED_VERSIONS.copy(),
                    "capabilities": SERVER_CAPABILITIES.copy(),
                    "instructions": "Call ping for a transport health check.",
                },

View on GitHub (pinned to 39ea8a1c6d)

When it happens

Trigger: Thrown at phases/13-tools-and-protocols/09-mcp-transports/code/main.py:244 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26). Data as JSON: /api/errors/1ce6d7aebcc6ab41. Report an issue: GitHub.