Struct http_api_problem::ApiErrorBuilder
source · pub struct ApiErrorBuilder {
pub status: StatusCode,
pub title: Option<String>,
pub message: Option<String>,
pub type_url: Option<String>,
pub instance: Option<String>,
pub fields: HashMap<String, Value>,
pub extensions: Extensions,
pub source: Option<Box<dyn Error + Send + Sync + 'static>>,
}Fields§
§status: StatusCodeThe suggested status code for the server to be returned to the client
title: Option<String>This is an optional title which can be used to create a valuable output for consumers.
message: Option<String>A message that describes the error in a human readable form.
In an HttpApiProblem this becomes the detail in most cases.
type_url: Option<String>A URL that points to a detailed description of the error.
instance: Option<String>A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
fields: HashMap<String, Value>Additional JSON encodable information. It is up to the server how and if it adds the given information.
extensions: ExtensionsTyped extensions for carrying processable data server side
Can be used e.g. for middlewares
Extensions will not be part of an HttpApiProblem
source: Option<Box<dyn Error + Send + Sync + 'static>>Implementations§
source§impl ApiErrorBuilder
impl ApiErrorBuilder
sourcepub fn status<T: Into<StatusCode>>(self, status: T) -> Self
pub fn status<T: Into<StatusCode>>(self, status: T) -> Self
Set the StatusCode
sourcepub fn try_status<T: TryInto<StatusCode>>(
self,
status: T
) -> Result<Self, InvalidStatusCode>where
T::Error: Into<InvalidStatusCode>,
pub fn try_status<T: TryInto<StatusCode>>(
self,
status: T
) -> Result<Self, InvalidStatusCode>where
T::Error: Into<InvalidStatusCode>,
Try to set the StatusCode
Fails if the status argument can not be converted to a StatusCode
sourcepub fn title<T: Display>(self, title: T) -> Self
pub fn title<T: Display>(self, title: T) -> Self
This is an optional title which can be used to create a valuable output for consumers.
sourcepub fn message<M: Display>(self, message: M) -> Self
pub fn message<M: Display>(self, message: M) -> Self
A message that describes the error in a human readable form.
In an HttpApiProblem this becomes the detail in most cases.
sourcepub fn type_url<U: Display>(self, type_url: U) -> Self
pub fn type_url<U: Display>(self, type_url: U) -> Self
A URL that points to a detailed description of the error.
sourcepub fn instance<T: Display>(self, instance: T) -> Self
pub fn instance<T: Display>(self, instance: T) -> Self
Sets the instance
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
sourcepub fn field<T: Into<String>, V: Serialize>(self, name: T, value: V) -> Self
pub fn field<T: Into<String>, V: Serialize>(self, name: T, value: V) -> Self
Adds a serializable field.
If the serialization fails nothing will be added. An already present field with the same name will be replaced.
sourcepub fn with_fields<F>(self, f: F) -> Selfwhere
F: FnOnce(HashMap<String, Value>) -> HashMap<String, Value>,
pub fn with_fields<F>(self, f: F) -> Selfwhere
F: FnOnce(HashMap<String, Value>) -> HashMap<String, Value>,
Modify the fields values from within a closure
sourcepub fn extension<T: Send + Sync + 'static>(self, val: T) -> Self
pub fn extension<T: Send + Sync + 'static>(self, val: T) -> Self
Adds an extension value.
Existing values will be overwritten
Extensions will not be part of an HttpApiProblem
sourcepub fn with_extensions<F>(self, f: F) -> Selfwhere
F: FnOnce(Extensions) -> Extensions,
pub fn with_extensions<F>(self, f: F) -> Selfwhere
F: FnOnce(Extensions) -> Extensions,
Modify the extension values from within a closure
Extensions will not be part of an HttpApiProblem
pub fn source<E: Error + Send + Sync + 'static>(self, source: E) -> Self
pub fn source_in_a_box<E: Into<Box<dyn Error + Send + Sync + 'static>>>(
self,
source: E
) -> Self
Trait Implementations§
source§impl From<ApiErrorBuilder> for ApiError
impl From<ApiErrorBuilder> for ApiError
source§fn from(builder: ApiErrorBuilder) -> Self
fn from(builder: ApiErrorBuilder) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for ApiErrorBuilder
impl Send for ApiErrorBuilder
impl Sync for ApiErrorBuilder
impl Unpin for ApiErrorBuilder
impl !UnwindSafe for ApiErrorBuilder
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
§fn into_collection<A>(self) -> SmallVec<A>where
A: Array<Item = T>,
fn into_collection<A>(self) -> SmallVec<A>where
A: Array<Item = T>,
self into a collection.