pub struct ProxyState {
pub client: Client,
pub port: u16,
pub stats: Arc<ProxyStats>,
pub introspect: Arc<IntrospectState>,
pub upstreams: Receiver<Arc<Upstreams>>,
pub mcp_servers: Arc<Vec<ResolvedMcpServer>>,
/* private fields */
}Fields§
§client: Client§port: u16§stats: Arc<ProxyStats>§introspect: Arc<IntrospectState>§upstreams: Receiver<Arc<Upstreams>>Live provider upstreams, refreshed from config.toml without a proxy
restart (#449). Read per request via ProxyState::openai_upstream etc.
mcp_servers: Arc<Vec<ResolvedMcpServer>>Resolved [[gateway_server.mcp_servers]] registry snapshot (GL#100).
Empty when none are registered; the /mcp/{server} routes are only
mounted with the gateway-server feature. Startup snapshot, restart
to reload — the same lifecycle as gateway-keys.toml.
Implementations§
Source§impl ProxyState
impl ProxyState
Sourcepub fn upstream_snapshot(&self) -> Arc<Upstreams> ⓘ
pub fn upstream_snapshot(&self) -> Arc<Upstreams> ⓘ
Consistent snapshot of all upstreams for the current request/response.
Sourcepub fn anthropic_upstream(&self) -> String
pub fn anthropic_upstream(&self) -> String
Current Anthropic upstream (live).
Sourcepub fn openai_upstream(&self) -> String
pub fn openai_upstream(&self) -> String
Current OpenAI upstream (live).
Sourcepub fn chatgpt_upstream(&self) -> String
pub fn chatgpt_upstream(&self) -> String
Current ChatGPT upstream (live).
Sourcepub fn gemini_upstream(&self) -> String
pub fn gemini_upstream(&self) -> String
Current Gemini upstream (live).
Cloudflare Cookie header for the current ChatGPT upstream, used by the
WebSocket passthrough handshake (#597). None until a request on the
reqwest rail has seen Cloudflare clearance.
Trait Implementations§
Source§impl Clone for ProxyState
impl Clone for ProxyState
Source§fn clone(&self) -> ProxyState
fn clone(&self) -> ProxyState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ProxyState
impl !UnwindSafe for ProxyState
impl Freeze for ProxyState
impl Send for ProxyState
impl Sync for ProxyState
impl Unpin for ProxyState
impl UnsafeUnpin for ProxyState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more