pub struct ResponsesWebsocketClient { /* private fields */ }Expand description
Client for connecting to the Responses WebSocket endpoint for one provider.
Implementations§
Source§impl ResponsesWebsocketClient
impl ResponsesWebsocketClient
Sourcepub fn new(provider: Provider, auth: SharedAuthProvider) -> Self
pub fn new(provider: Provider, auth: SharedAuthProvider) -> Self
Creates a Responses WebSocket client for an already-resolved provider and auth source.
pub async fn connect( &self, http_client_factory: &HttpClientFactory, extra_headers: HeaderMap, default_headers: HeaderMap, turn_state: Option<Arc<OnceLock<String>>>, telemetry: Option<Arc<dyn WebsocketTelemetry>>, ) -> Result<ResponsesWebsocketConnection, ApiError>
Sourcepub async fn probe_handshake(
&self,
http_client_factory: &HttpClientFactory,
extra_headers: HeaderMap,
default_headers: HeaderMap,
immediate_close_timeout: Duration,
) -> Result<ResponsesWebsocketProbe, ApiError>
pub async fn probe_handshake( &self, http_client_factory: &HttpClientFactory, extra_headers: HeaderMap, default_headers: HeaderMap, immediate_close_timeout: Duration, ) -> Result<ResponsesWebsocketProbe, ApiError>
Opens a WebSocket connection long enough to validate the upgrade response.
The probe uses the same URL construction, headers, authentication, TLS, and custom-CA path as a real Responses WebSocket connection, but it does not send a request frame. After the HTTP 101 upgrade succeeds, it waits briefly for an immediate server close frame so diagnostics can distinguish a usable connection from a policy rejection that closes right away.
Auto Trait Implementations§
impl !RefUnwindSafe for ResponsesWebsocketClient
impl !UnwindSafe for ResponsesWebsocketClient
impl Freeze for ResponsesWebsocketClient
impl Send for ResponsesWebsocketClient
impl Sync for ResponsesWebsocketClient
impl Unpin for ResponsesWebsocketClient
impl UnsafeUnpin for ResponsesWebsocketClient
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Converts
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>
Converts
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