INNER CODE UNIT · Rust

with_optional_challenge

modelcontextprotocol/rust-sdk · conformance/src/bin/client.rs:245

fn with_optional_challenge(
    request: AuthorizationRequest,
    challenge: Option<String>,
) -> AuthorizationRequest {
    match challenge {
        Some(challenge) => request.with_challenge(challenge),
        None => request,
    }
}

/// Perform the headless OAuth authorization-code flow, reactively:
///
/// 1. Attempt the real connection; take the 401's WWW-Authenticate challenge
/// 2. Discover from the challenge, register (or use CIMD), get auth URL
/// 3. Fetch the auth URL with redirect:manual → extract code from Location header
/// 4. Exchange code for token
/// 5. Return an `AuthClient` wrapping `reqwest::Client`
async fn perform_oauth_flow(

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…