pub enum FormError {
InvalidContentType,
BodyReadError(String),
InvalidUtf8,
ParseError(String),
DeserializationError(String),
}Expand description
Error type for Form extraction.
Represents various failure modes that can occur when extracting and parsing
form data from HTTP request bodies. This error type implements
std::error::Error for integration with error handling libraries.
Variants§
InvalidContentType
Request content type is not application/x-www-form-urlencoded.
BodyReadError(String)
Failed to read the request body.
InvalidUtf8
Request body contains invalid UTF-8 sequences.
ParseError(String)
Failed to parse the form data format.
DeserializationError(String)
Failed to deserialize form data into the target type.
Trait Implementations§
impl Eq for FormError
Source§impl Error for FormError
impl Error for FormError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl Responder for FormError
impl Responder for FormError
Source§fn into_response(self) -> Response<TakoBody>
fn into_response(self) -> Response<TakoBody>
Converts the error into an HTTP response.
Maps form extraction errors to appropriate HTTP status codes with descriptive
error messages. All errors result in 400 Bad Request as they indicate
client-side issues with the request format or content.
§Examples
use tako::extractors::form::FormError;
use tako::responder::Responder;
use http::StatusCode;
let error = FormError::InvalidContentType;
let response = error.into_response();
assert_eq!(response.status(), StatusCode::BAD_REQUEST);
let error = FormError::InvalidUtf8;
let response = error.into_response();
assert_eq!(response.status(), StatusCode::BAD_REQUEST);impl StructuralPartialEq for FormError
Auto Trait Implementations§
impl Freeze for FormError
impl RefUnwindSafe for FormError
impl Send for FormError
impl Sync for FormError
impl Unpin for FormError
impl UnsafeUnpin for FormError
impl UnwindSafe for FormError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
self with key and returns true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, O> Matches<O> for Twhere
T: PartialEq<O>,
impl<T, O> Matches<O> for Twhere
T: PartialEq<O>,
fn validate_matches(&self, other: &O) -> bool
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read moreSource§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.