pub struct HttpClient { /* private fields */ }Expand description
Implementations§
Source§impl HttpClient
impl HttpClient
Sourcepub fn new(
base_url: &str,
api_key: &str,
timeout_secs: u64,
) -> Result<Self, HttpError>
pub fn new( base_url: &str, api_key: &str, timeout_secs: u64, ) -> Result<Self, HttpError>
Create a new HTTP client.
§Arguments
base_url- Base URL for the API (without trailing slash)api_key- API key for Bearer authenticationtimeout_secs- Request timeout in seconds
§Environment Variables
Optional headers from environment:
SYNTH_USER_IDorX_USER_ID→X-User-IDheaderSYNTH_ORG_IDorX_ORG_ID→X-Org-IDheader
Sourcepub async fn get<T: DeserializeOwned>(
&self,
path: &str,
params: Option<&[(&str, &str)]>,
) -> Result<T, HttpError>
pub async fn get<T: DeserializeOwned>( &self, path: &str, params: Option<&[(&str, &str)]>, ) -> Result<T, HttpError>
Make a GET request.
§Arguments
path- API path (relative or absolute)params- Optional query parameters
Sourcepub async fn get_bytes(
&self,
path: &str,
params: Option<&[(&str, &str)]>,
) -> Result<Vec<u8>, HttpError>
pub async fn get_bytes( &self, path: &str, params: Option<&[(&str, &str)]>, ) -> Result<Vec<u8>, HttpError>
Make a GET request and return raw bytes.
Sourcepub async fn get_json(
&self,
path: &str,
params: Option<&[(&str, &str)]>,
) -> Result<Value, HttpError>
pub async fn get_json( &self, path: &str, params: Option<&[(&str, &str)]>, ) -> Result<Value, HttpError>
Make a GET request returning raw JSON Value.
Sourcepub async fn post_json<T: DeserializeOwned>(
&self,
path: &str,
body: &Value,
) -> Result<T, HttpError>
pub async fn post_json<T: DeserializeOwned>( &self, path: &str, body: &Value, ) -> Result<T, HttpError>
Sourcepub async fn post_json_with_headers<T: DeserializeOwned>(
&self,
path: &str,
body: &Value,
extra_headers: Option<HeaderMap>,
) -> Result<T, HttpError>
pub async fn post_json_with_headers<T: DeserializeOwned>( &self, path: &str, body: &Value, extra_headers: Option<HeaderMap>, ) -> Result<T, HttpError>
Make a POST request with JSON body and extra headers.
Sourcepub async fn post_multipart<T: DeserializeOwned>(
&self,
path: &str,
data: &[(String, String)],
files: &[MultipartFile],
) -> Result<T, HttpError>
pub async fn post_multipart<T: DeserializeOwned>( &self, path: &str, data: &[(String, String)], files: &[MultipartFile], ) -> Result<T, HttpError>
Make a POST request with multipart form data.
§Arguments
path- API pathdata- Form fieldsfiles- File parts
Trait Implementations§
Source§impl Clone for HttpClient
impl Clone for HttpClient
Source§fn clone(&self) -> HttpClient
fn clone(&self) -> HttpClient
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for HttpClient
impl !RefUnwindSafe for HttpClient
impl Send for HttpClient
impl Sync for HttpClient
impl Unpin for HttpClient
impl !UnwindSafe for HttpClient
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 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>
Wrap the input message
T in a tonic::Request