RequestHandler

Struct RequestHandler 

Source
pub struct RequestHandler { /* private fields */ }

Implementations§

Source§

impl RequestHandler

Source

pub fn new(api_key: Uuid) -> Self

Creates a new RequestHandler instance using an api_key obtained from Hypixel.

RequestHandler::request can be used to queue as many requests as required for execution without ever going over the limit set by Hypixel’s API. This limit is derived automatically and thus can be completely avoided by user code.

§Examples
use hypixel_api::RequestHandler;

let api_key = Uuid::from_str(env!("HYPIXEL_API_KEY")).unwrap();
let request_handler = RequestHandler::new(api_key);

// Send requests ...
Source

pub fn request<T: DeserializeOwned + Send + 'static>( &self, path: &str, authenticated: bool, ) -> JoinHandle<Result<T, HypixelApiError>>

Queues a new request for execution and returns a JoinHandle to it.

§Arguments

path should be a relative path to the API (without leading /), such as "key" or "status?uuid=...". See the API.

If authenticated is true then the API key will be sent along as a header.

§Errors

If any part of the execution process fails, a HypixelApiError will be returned.

§Examples
use hypixel_api::RequestHandler;

let api_key = Uuid::from_str(env!("HYPIXEL_API_KEY")).unwrap();
let request_handler = RequestHandler::new(api_key);
let request1 = request_handler.request::<StatusReply>("status?uuid=069a79f4-44e9-4726-a5be-fca90e38aaf5", true);

// send more requests ...

let reply: StatusReply = request1.await.unwrap().unwrap();
// use reply ...

Trait Implementations§

Source§

impl Debug for RequestHandler

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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 T
where 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.
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
Source§

impl<T> ErasedDestructor for T
where T: 'static,