Skip to main content

EsiBuilder

Struct EsiBuilder 

Source
pub struct EsiBuilder { /* private fields */ }
Expand description

Builder for the Esi struct.

§Example

let mut esi = EsiBuilder::new()
    .user_agent("some user agent")
    .client_id("your_client_id")
    .client_secret("your_client_secret")
    .callback_url("your_callback_url")
    .build()
    .unwrap();

§Overriding the API specification

If you will be creating multiple struct instances, you will probably run into the issue of needing to retrieve the API spec on each. Given that this operation is fairly expensive (certainly as far as the rest of the API endpoints that EVE makes available), this builder supports setting that struct:

let mut esi = EsiBuilder::new()
    .user_agent("some user agent")
    .spec(Some(your_spec))
    .build()
    .unwrap();

Note that this “spec” function is just another builder function; you can make use it alongside all of the others. Note also that this is entirely optional: if you don’t mind retrieving the spec from ESI on each of your struct instances, you can safely ignore this.

§Not including client info

If you are only making calls to non-authenticated endpoints, then you don’t need to make use of the authentication flow, which means you don’t need a client ID, client secret, and callback URL. In this case, you can construct your client without those parameters:

let mut esi = EsiBuilder::new()
    .user_agent("some user agent")
    .build()
    .unwrap();

Note that you still need to set the user agent, as this is good API usage behavior.

Implementations§

Source§

impl EsiBuilder

Source

pub fn new() -> Self

Start a new builder.

Source

pub fn compatibility_date(self, val: &str) -> Self

Set the compatibility header to use.

Will default to a hardcoded value if not set.

Source

pub fn client_id(self, val: &str) -> Self

Set the client_id.

Source

pub fn client_secret(self, val: &str) -> Self

Set the client_secret (https://docs.esi.evetech.net/docs/sso/web_based_sso_flow.html).

Source

pub fn enable_application_authentication(self, val: bool) -> Self

Enable PKCE Authentication flow for Applications (https://docs.esi.evetech.net/docs/sso/native_sso_flow.html)

Source

pub fn callback_url(self, val: &str) -> Self

Set the callback_url.

Source

pub fn base_api_url(self, val: &str) -> Self

Set the base_api_url.

Source

pub fn authorize_url(self, val: &str) -> Self

Set the authorize_url.

Source

pub fn token_url(self, val: &str) -> Self

Set the token_url.

Source

pub fn spec_url(self, val: &str) -> Self

Set the spec_url.

Source

pub fn scope(self, val: &str) -> Self

Set the scope.

Source

pub fn access_token(self, val: Option<&str>) -> Self

Set the access_token.

Source

pub fn access_expiration(self, val: Option<i64>) -> Self

Set the access_expiration.

Source

pub fn refresh_token(self, val: Option<&str>) -> Self

Set the refresh_token.

Source

pub fn user_agent(self, val: &str) -> Self

Set the user_agent.

Source

pub fn http_timeout(self, val: Option<u64>) -> Self

Set the timeout to use in millis when sending HTTP requests.

Will default to 60,000 (1 minute) if not set.

Source

pub fn spec(self, spec: Option<Spec>) -> Self

Explicitly set the OpenAPI specification.

Allows copying the spec from another Esi struct or other source, avoiding fetching the spec from ESI again. May be useful given the runtime cost of retrieving the spec.

Be aware of the potential for out-of-date data.

Source

pub fn build(self) -> EsiResult<Esi>

Construct the Esi instance.

There are a few things that could go wrong, like not setting one of the mandatory fields or providing a user agent that is not a valid HTTP header value.

Trait Implementations§

Source§

impl Clone for EsiBuilder

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EsiBuilder

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for EsiBuilder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for EsiBuilder

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for EsiBuilder

Source§

impl PartialEq for EsiBuilder

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for EsiBuilder

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for EsiBuilder

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

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