Struct BackEndHandler

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

Back end handler component

Component responsible for unmarshalling requests, passing the operation to the provider and marshalling the result.

It also provides assessment capabilities, letting the dispatcher know if it can process a request.

Implementations§

Source§

impl BackEndHandler

Source

pub fn is_capable(&self, request: &Request) -> Result<()>

Assess whether the backend handler-provider pair is capable of handling the request.

§Errors
  • if the provider ID can not perform the type of operation, returns ResponseStatus::PsaErrorNotSupported
  • if the provider ID does not match, returns ResponseStatus::WrongProviderId
  • if the content type does not match, returns ResponseStatus::ContentTypeNotSupported
  • if the accept type does not match, returns ResponseStatus::AcceptTypeNotSupported
Source

pub fn execute_request( &self, request: Request, app: Option<Application>, ) -> Response

Unmarshall the request body, pass the operation to the provider and marshall the result back.

If any of the steps fails, a response containing an appropriate status code is returned.

Trait Implementations§

Source§

impl Debug for BackEndHandler

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

Source§

unsafe fn free(ptr_ref: NonNull<T>)

Drops the content pointed by this pointer and frees it. Read more
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, 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V