BigPizzaV3/CodexPlusPlus · error · anyhow::Error

LLM Bridge 仅支持 POST 请求

Error message

LLM Bridge 仅支持 POST 请求

What it means

Thrown by llm_proxy_value (reached from stepwise_test_value/handle_bridge_request) when the request's method field — defaulting to POST — is anything other than POST case-insensitively. The LLM Bridge proxy deliberately forwards only POST requests; the offending input is payload.method supplied by the bridge caller.

Source

Thrown at crates/codex-plus-core/src/routes.rs:703

    let settings = crate::stepwise::settings_with_payload(result?, &payload);
    crate::stepwise::test_connection(&settings).await
}

async fn llm_proxy_value(payload: Value) -> anyhow::Result<Value> {
    let url = validate_llm_proxy_url(
        payload
            .get("url")
            .and_then(Value::as_str)
            .unwrap_or_default(),
    )?;
    let method = payload
        .get("method")
        .and_then(Value::as_str)
        .map(str::trim)
        .filter(|value| !value.is_empty())
        .unwrap_or("POST");
    if !method.eq_ignore_ascii_case("POST") {
        anyhow::bail!("LLM Bridge 仅支持 POST 请求");
    }

    let timeout_ms = payload
        .get("timeout_ms")
        .and_then(Value::as_u64)
        .unwrap_or(60_000)
        .clamp(1_000, 60_000);
    let body = payload
        .get("body")
        .and_then(Value::as_str)
        .unwrap_or_default()
        .to_string();
    if body.len() > 1_048_576 {
        anyhow::bail!("LLM Bridge 请求体过大");
    }

    let client = reqwest::Client::builder()
        .timeout(std::time::Duration::from_millis(timeout_ms))

View on GitHub (pinned to f2074595a2)

Solutions

  1. 把请求方式改为 POST
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/codex-plus-core/src/routes.rs:703 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23). Data as JSON: /api/errors/bd9e0d934db61521. Report an issue: GitHub.