Skip to main content

Rejection

Struct Rejection 

Source
pub struct Rejection {
    pub code: String,
    pub error: String,
    pub expected: Option<String>,
    pub actual: Option<String>,
    pub next: String,
}
Expand description

A refusal, with enough for a client to decide what to do next.

Fields§

§code: String

Stable machine-readable reason.

§error: String

Human-readable detail. Kept named error because that is what every existing client and test already reads.

§expected: Option<String>

What the check required, when the check compared two states.

§actual: Option<String>

What it found instead.

§next: String

The admissible next action, in the imperative. This is the field the research isolates the gain to, so it is required rather than optional: a rejection that cannot name a next action is a rejection whose author has not finished thinking.

Implementations§

Source§

impl Rejection

Source

pub fn new( code: Code, error: impl Into<String>, next: impl Into<String>, ) -> Self

A rejection with no state comparison.

Source

pub fn with_states( self, expected: Option<String>, actual: Option<String>, ) -> Self

Adds the two states a failed comparison was between.

Source

pub fn to_json(&self) -> Value

This rejection as a JSON value.

Source

pub fn encode(&self) -> String

Renders for the Result<(), String> seam.

Source

pub fn decode(reason: &str) -> Self

Recovers a rejection from a reason string.

A reason that did not come from Rejection::encode becomes an Code::Unclassified rejection carrying the original text, so a caller always gets the same shape and no message is ever dropped on the floor.

Source

pub fn body(&self) -> String

The HTTP body: the rejection as JSON.

Trait Implementations§

Source§

impl Clone for Rejection

Source§

fn clone(&self) -> Rejection

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 Rejection

Source§

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

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

impl PartialEq for Rejection

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Rejection

Source§

impl StructuralPartialEq for Rejection

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> 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> 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> 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 = 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.