From 0120ae72d767a36b3e542ae7497b5cd2ec5f4c4f Mon Sep 17 00:00:00 2001 From: Samit Sasan Date: Fri, 12 Sep 2025 00:46:23 -0400 Subject: [PATCH] chore: forwarding headers --- .../src/server/states/running.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/crates/apollo-mcp-server/src/server/states/running.rs b/crates/apollo-mcp-server/src/server/states/running.rs index b1b69495..6c40edac 100644 --- a/crates/apollo-mcp-server/src/server/states/running.rs +++ b/crates/apollo-mcp-server/src/server/states/running.rs @@ -3,7 +3,7 @@ use std::sync::Arc; use apollo_compiler::{Schema, validation::Valid}; use headers::HeaderMapExt as _; -use reqwest::header::HeaderMap; +use reqwest::header::{HeaderMap, HeaderValue}; use rmcp::model::Implementation; use rmcp::{ Peer, RoleServer, ServerHandler, ServiceError, @@ -250,6 +250,22 @@ impl ServerHandler for Running { if let Some(session_id) = axum_parts.headers.get("mcp-session-id") { headers.insert("mcp-session-id", session_id.clone()); } + + if let Some(auth) = axum_parts.headers.get("authorization") { + headers.insert("authorization", auth.clone()); + } + + // if name_lower == "authorization" + // || name_lower == "x-mcp-proxy-auth" + // || name_lower == "x-athena-context" + + if let Some(context_id) = axum_parts.headers.get("x-athena-context") { + headers.insert("x-athena-context", context_id.clone()); + } + + if !headers.contains_key("x-athena-context") { + headers.insert("x-athena-context", HeaderValue::from_static("432")); + } } let graphql_request = graphql::Request {