mcpr_core/proxy/
proxy_state.rs1use std::sync::Arc;
7use tokio::sync::RwLock;
8
9use crate::event::EventBus;
10use crate::protocol::schema_manager::{MemorySchemaStore, SchemaManager};
11use crate::protocol::session::MemorySessionStore;
12
13use super::RewriteConfig;
14use super::forwarding::UpstreamClient;
15use super::health::SharedProxyHealth;
16use super::widgets::WidgetSource;
17
18pub struct ProxyState {
20 pub name: String,
22
23 pub mcp_upstream: String,
25 pub upstream: UpstreamClient,
26 pub max_request_body: usize,
27 pub max_response_body: usize,
28
29 pub rewrite_config: Arc<RwLock<RewriteConfig>>,
31 pub widget_source: Option<WidgetSource>,
32
33 pub sessions: MemorySessionStore,
35 pub schema_manager: Arc<SchemaManager<MemorySchemaStore>>,
36
37 pub health: SharedProxyHealth,
39
40 pub event_bus: EventBus,
42}