pub struct Client { /* private fields */ }Expand description
HTTP client implementation using the reqwest library.
This provides a concrete implementation of HttpClient using the popular
reqwest HTTP client library. It supports all standard HTTP features including
TLS, authentication, and connection pooling.
Implementations§
Source§impl Client
impl Client
Sourcepub fn new() -> Result<Client, Error>
pub fn new() -> Result<Client, Error>
Create client with default ClientParams.
§Errors
Internally it builds reqwest::ClientBuilder::build. This function
transparently passes errors of this call to caller.
Sourcepub fn with_params(params: ClientParams) -> Result<Client, Error>
pub fn with_params(params: ClientParams) -> Result<Client, Error>
Build client from parameters.
§Errors
Internally it builds reqwest::ClientBuilder::build. This function
transparently passes errors of this call to caller.
Sourcepub const fn with_client(client: Client) -> Client
pub const fn with_client(client: Client) -> Client
Use pre-built reqwest::Client as internal client.
Trait Implementations§
Source§impl HttpClient for Client
impl HttpClient for Client
Source§async fn get<T>(
&self,
url: Url,
credentials: &BmcCredentials,
etag: Option<ODataETag>,
custom_headers: &HeaderMap,
) -> Result<T, <Client as HttpClient>::Error>where
T: DeserializeOwned,
async fn get<T>(
&self,
url: Url,
credentials: &BmcCredentials,
etag: Option<ODataETag>,
custom_headers: &HeaderMap,
) -> Result<T, <Client as HttpClient>::Error>where
T: DeserializeOwned,
Perform an HTTP GET request with optional conditional headers.
Source§async fn post<B, T>(
&self,
url: Url,
body: &B,
credentials: &BmcCredentials,
custom_headers: &HeaderMap,
) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
async fn post<B, T>( &self, url: Url, body: &B, credentials: &BmcCredentials, custom_headers: &HeaderMap, ) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
Perform an HTTP POST request.
Source§async fn post_session<B, T>(
&self,
url: Url,
body: &B,
custom_headers: &HeaderMap,
) -> Result<SessionCreateResponse<T>, <Client as HttpClient>::Error>
async fn post_session<B, T>( &self, url: Url, body: &B, custom_headers: &HeaderMap, ) -> Result<SessionCreateResponse<T>, <Client as HttpClient>::Error>
Perform a Redfish session creation POST request.
Source§async fn patch<B, T>(
&self,
url: Url,
etag: ODataETag,
body: &B,
credentials: &BmcCredentials,
custom_headers: &HeaderMap,
) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
async fn patch<B, T>( &self, url: Url, etag: ODataETag, body: &B, credentials: &BmcCredentials, custom_headers: &HeaderMap, ) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
Perform an HTTP PATCH request.
Source§async fn delete<T>(
&self,
url: Url,
credentials: &BmcCredentials,
custom_headers: &HeaderMap,
) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
async fn delete<T>( &self, url: Url, credentials: &BmcCredentials, custom_headers: &HeaderMap, ) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
Perform an HTTP DELETE request.
Source§async fn post_multipart_update<U, V, T>(
&self,
url: Url,
update_request: MultipartUpdateRequest<'_, U, V>,
credentials: &BmcCredentials,
custom_headers: &HeaderMap,
) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
async fn post_multipart_update<U, V, T>( &self, url: Url, update_request: MultipartUpdateRequest<'_, U, V>, credentials: &BmcCredentials, custom_headers: &HeaderMap, ) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
Performs an UpdateService multipart upload with credentials and headers. Read more
Source§async fn post_http_push_uri_update<U, T>(
&self,
url: Url,
update_request: HttpPushUriUpdateRequest<U>,
credentials: &BmcCredentials,
custom_headers: &HeaderMap,
) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
async fn post_http_push_uri_update<U, T>( &self, url: Url, update_request: HttpPushUriUpdateRequest<U>, credentials: &BmcCredentials, custom_headers: &HeaderMap, ) -> Result<ModificationResponse<T>, <Client as HttpClient>::Error>
Source§async fn sse<T>(
&self,
url: Url,
credentials: &BmcCredentials,
custom_headers: &HeaderMap,
) -> Result<Pin<Box<dyn TryStream<Ok = T, Item = Result<T, <Client as HttpClient>::Error>, Error = <Client as HttpClient>::Error> + Send>>, <Client as HttpClient>::Error>where
T: Send + for<'de> Deserialize<'de>,
async fn sse<T>(
&self,
url: Url,
credentials: &BmcCredentials,
custom_headers: &HeaderMap,
) -> Result<Pin<Box<dyn TryStream<Ok = T, Item = Result<T, <Client as HttpClient>::Error>, Error = <Client as HttpClient>::Error> + Send>>, <Client as HttpClient>::Error>where
T: Send + for<'de> Deserialize<'de>,
Open an SSE stream
Auto Trait Implementations§
impl !RefUnwindSafe for Client
impl !UnwindSafe for Client
impl Freeze for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl UnsafeUnpin for Client
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
Mutably borrows from an owned value. Read more