pub struct RestTransport { /* private fields */ }Expand description
REST transport: HTTP verbs mapped to REST paths.
Create via RestTransport::new or let crate::ClientBuilder construct
one from the agent card.
Implementations§
Source§impl RestTransport
impl RestTransport
Sourcepub fn new(base_url: impl Into<String>) -> Result<RestTransport, ClientError>
pub fn new(base_url: impl Into<String>) -> Result<RestTransport, ClientError>
Creates a new transport using base_url as the root URL.
§Errors
Returns ClientError::InvalidEndpoint if the URL is malformed.
Sourcepub fn with_timeout(
base_url: impl Into<String>,
request_timeout: Duration,
) -> Result<RestTransport, ClientError>
pub fn with_timeout( base_url: impl Into<String>, request_timeout: Duration, ) -> Result<RestTransport, ClientError>
Creates a new transport with a custom request timeout.
§Errors
Returns ClientError::InvalidEndpoint if the URL is malformed.
Sourcepub fn with_timeouts(
base_url: impl Into<String>,
request_timeout: Duration,
stream_connect_timeout: Duration,
) -> Result<RestTransport, ClientError>
pub fn with_timeouts( base_url: impl Into<String>, request_timeout: Duration, stream_connect_timeout: Duration, ) -> Result<RestTransport, ClientError>
Creates a new transport with separate request and stream connect timeouts.
Uses the default TCP connection timeout (10 seconds).
§Errors
Returns ClientError::InvalidEndpoint if the URL is malformed.
Sourcepub fn with_all_timeouts(
base_url: impl Into<String>,
request_timeout: Duration,
stream_connect_timeout: Duration,
connection_timeout: Duration,
) -> Result<RestTransport, ClientError>
pub fn with_all_timeouts( base_url: impl Into<String>, request_timeout: Duration, stream_connect_timeout: Duration, connection_timeout: Duration, ) -> Result<RestTransport, ClientError>
Creates a new transport with all timeout parameters.
connection_timeout is applied to the underlying TCP connector (DNS +
handshake), preventing indefinite hangs when the server is unreachable.
§Errors
Returns ClientError::InvalidEndpoint if the URL is malformed.
Trait Implementations§
Source§impl Clone for RestTransport
impl Clone for RestTransport
Source§fn clone(&self) -> RestTransport
fn clone(&self) -> RestTransport
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RestTransport
impl Debug for RestTransport
Source§impl Transport for RestTransport
impl Transport for RestTransport
Source§fn send_request<'a>(
&'a self,
method: &'a str,
params: Value,
extra_headers: &'a HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<Value, ClientError>> + Send + 'a>>
fn send_request<'a>( &'a self, method: &'a str, params: Value, extra_headers: &'a HashMap<String, String>, ) -> Pin<Box<dyn Future<Output = Result<Value, ClientError>> + Send + 'a>>
Source§fn send_streaming_request<'a>(
&'a self,
method: &'a str,
params: Value,
extra_headers: &'a HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<EventStream, ClientError>> + Send + 'a>>
fn send_streaming_request<'a>( &'a self, method: &'a str, params: Value, extra_headers: &'a HashMap<String, String>, ) -> Pin<Box<dyn Future<Output = Result<EventStream, ClientError>> + Send + 'a>>
EventStream. Read moreAuto Trait Implementations§
impl Freeze for RestTransport
impl !RefUnwindSafe for RestTransport
impl Send for RestTransport
impl Sync for RestTransport
impl Unpin for RestTransport
impl UnsafeUnpin for RestTransport
impl !UnwindSafe for RestTransport
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request