Skip to main content

ResourceFlow

Struct ResourceFlow 

Source
pub struct ResourceFlow<E, R>
where E: Endpoint<R>, R: WebRequest,
{ /* private fields */ }
Expand description

Guards resources by requiring OAuth authorization.

Implementations§

Source§

impl<E, R> ResourceFlow<E, R>
where E: Endpoint<R>, R: WebRequest,

Source

pub fn prepare(endpoint: E) -> Result<Self, E::Error>

Check that the endpoint supports the necessary operations for handling requests.

Binds the endpoint to a particular type of request that it supports, for many implementations this is probably single type anyways.

§Panics

Indirectly execute may panic when this flow is instantiated with an inconsistent endpoint, for details see the documentation of Endpoint and execute. For consistent endpoints, the panic is instead caught as an error here.

Source

pub fn execute( &mut self, request: R, ) -> Result<Grant, Result<R::Response, E::Error>>

Use the checked endpoint to check for authorization for a resource.

§Panics

When the issuer returned by the endpoint is suddenly None when previously it was Some(_).

Auto Trait Implementations§

§

impl<E, R> Freeze for ResourceFlow<E, R>
where WrappedResource<E, R>: Freeze,

§

impl<E, R> RefUnwindSafe for ResourceFlow<E, R>
where WrappedResource<E, R>: RefUnwindSafe,

§

impl<E, R> Send for ResourceFlow<E, R>
where WrappedResource<E, R>: Send,

§

impl<E, R> Sync for ResourceFlow<E, R>
where WrappedResource<E, R>: Sync,

§

impl<E, R> Unpin for ResourceFlow<E, R>
where WrappedResource<E, R>: Unpin,

§

impl<E, R> UnsafeUnpin for ResourceFlow<E, R>
where WrappedResource<E, R>: UnsafeUnpin,

§

impl<E, R> UnwindSafe for ResourceFlow<E, R>
where WrappedResource<E, R>: UnwindSafe,

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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

Source§

fn vzip(self) -> V