pub struct HttpClient { /* private fields */ }
Expand description

An implementer of the Requester trait. This is all most users will need, however it may be helpful to look at the trait implementation details here if you’re writing your own implementation.

Implementations§

source§

impl HttpClient

source

pub fn new(auth: Option<Authorization>, user_agent: Option<String>) -> Self

Creates a new HttpClient.

source

pub fn new_none() -> Self

Creates a new HttpClient with no authorization.

source

pub fn set_auth(&mut self, auth: Authorization)

Updates the authorization used by the current client.

source

pub fn set_ua(&mut self, user_agent: &str)

Set the user agent used by the current client.

Trait Implementations§

source§

impl Requester for HttpClient

source§

fn raw_req<'life0, 'life1, 'async_trait, T, V>( &'life0 self, url: EndPoints, query: Option<&'life1 T>, body: Option<V> ) -> Pin<Box<dyn Future<Output = Result<String, GithubRestError>> + Send + 'async_trait>>where T: Serialize + ?Sized + Send + Sync + 'async_trait, V: Into<Self::Body> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Returns the API response as a String.

source§

fn req<'life0, 'life1, 'async_trait, T, V, A>( &'life0 self, url: EndPoints, query: Option<&'life1 T>, body: Option<V> ) -> Pin<Box<dyn Future<Output = Result<A, GithubRestError>> + Send + 'async_trait>>where T: Serialize + ?Sized + Send + Sync + 'async_trait, V: Into<Self::Body> + Send + 'async_trait, A: 'async_trait + DeserializeOwned, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

A function for performing HTTP requests utilizing the EndPoints enum.

Usage example:

HttpClient::new_none()
    .req::<GetCommitsBody, String, Commits>(
        EndPoints::GetReposownerrepoCommits("octocat-rs".to_owned(), "octocat-rs".to_owned()),
            None,
            None,
        )
        .await;
§

type Body = Body

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more