ServerFnError

Enum ServerFnError 

Source
pub enum ServerFnError {
    ServerError {
        message: String,
        code: u16,
        details: Option<Value>,
    },
    Request(RequestError),
    StreamError(String),
    Registration(String),
    UnsupportedRequestMethod(String),
    MiddlewareError(String),
    Deserialization(String),
    Serialization(String),
    Args(String),
    MissingArg(String),
    Response(String),
}
Expand description

The error type for the server function system. This enum encompasses all possible errors that can occur during the registration, invocation, and processing of server functions.

Variants§

§

ServerError

Occurs when there is an error while actually running the function on the server.

The details field can optionally contain additional structured information about the error. When passing typed errors from the server to the client, the details field contains the serialized representation of the error.

Fields

§message: String

A human-readable message describing the error.

§code: u16

HTTP status code associated with the error.

§details: Option<Value>
§

Request(RequestError)

Occurs on the client if there is a network error while trying to run function on server.

§

StreamError(String)

Occurs on the client if there is an error while trying to read the response body as a stream.

§

Registration(String)

Error while trying to register the server function (only occurs in case of poisoned RwLock).

§

UnsupportedRequestMethod(String)

Occurs on the client if trying to use an unsupported HTTP method when building a request.

§

MiddlewareError(String)

Occurs when there is an error while actually running the middleware on the server.

§

Deserialization(String)

Occurs on the client if there is an error deserializing the server’s response.

§

Serialization(String)

Occurs on the client if there is an error serializing the server function arguments.

§

Args(String)

Occurs on the server if there is an error deserializing one of the arguments that’s been sent.

§

MissingArg(String)

Occurs on the server if there’s a missing argument.

§

Response(String)

Occurs on the server if there is an error creating an HTTP response.

Implementations§

Source§

impl ServerFnError

Source

pub fn new(f: impl ToString) -> ServerFnError

Create a new server error (status code 500) with a message.

Source

pub async fn from_axum_response(resp: Response<Body>) -> ServerFnError

Create a new server error (status code 500) with a message and details.

Trait Implementations§

Source§

impl AsStatusCode for ServerFnError

Source§

impl Clone for ServerFnError

Source§

fn clone(&self) -> ServerFnError

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ServerFnError

Source§

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

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

impl<'de> Deserialize<'de> for ServerFnError

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<ServerFnError, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for ServerFnError

Source§

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

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

impl Error for ServerFnError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for ServerFnError

Source§

fn from(value: Error) -> ServerFnError

Converts to this type from the input type.
Source§

impl From<Error> for ServerFnError

Source§

fn from(value: Error) -> ServerFnError

Converts to this type from the input type.
Source§

impl From<HttpError> for ServerFnError

Source§

fn from(value: HttpError) -> ServerFnError

Converts to this type from the input type.
Source§

impl From<RequestError> for ServerFnError

Source§

fn from(value: RequestError) -> ServerFnError

Converts to this type from the input type.
Source§

impl From<ServerFnError> for HttpError

Source§

fn from(value: ServerFnError) -> HttpError

Converts to this type from the input type.
Source§

impl From<ServerFnError> for StatusCode

Source§

fn from(value: ServerFnError) -> StatusCode

Converts to this type from the input type.
Source§

impl IntoResponse for ServerFnError

Source§

fn into_response(self) -> Response<Body>

Create a response.
Source§

impl PartialEq for ServerFnError

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 Serialize for ServerFnError

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for ServerFnError

Source§

impl StructuralPartialEq for ServerFnError

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> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T, S> Handler<IntoResponseHandler, S> for T
where T: IntoResponse + Clone + Send + Sync + 'static,

Source§

type Future = Ready<Response<Body>>

The type of future calling this handler returns.
Source§

fn call( self, _req: Request<Body>, _state: S, ) -> <T as Handler<IntoResponseHandler, S>>::Future

Call the handler with the given request.
Source§

fn layer<L>(self, layer: L) -> Layered<L, Self, T, S>
where L: Layer<HandlerService<Self, T, S>> + Clone, <L as Layer<HandlerService<Self, T, S>>>::Service: Service<Request<Body>>,

Apply a tower::Layer to the handler. Read more
Source§

fn with_state(self, state: S) -> HandlerService<Self, T, S>

Convert the handler into a Service by providing the state
Source§

impl<H, T> HandlerWithoutStateExt<T> for H
where H: Handler<T, ()>,

Source§

fn into_service(self) -> HandlerService<H, T, ()>

Convert the handler into a Service and no state.
Source§

fn into_make_service(self) -> IntoMakeService<HandlerService<H, T, ()>>

Convert the handler into a MakeService and no state. Read more
Source§

impl<T> InitializeFromFunction<T> for T

Source§

fn initialize_from_function(f: fn() -> T) -> T

Create an instance of this type from an initialization function
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<Ret> SpawnIfAsync<(), Ret> for Ret

Source§

fn spawn(self) -> Ret

Spawn the value into the dioxus runtime if it is an async block
Source§

impl<T, O> SuperFrom<T> for O
where O: From<T>,

Source§

fn super_from(input: T) -> O

Convert from a type to another type.
Source§

impl<T, O, M> SuperInto<O, M> for T
where O: SuperFrom<T, M>,

Source§

fn super_into(self) -> O

Convert from a type to another type.
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> ToStringFallible for T
where T: Display,

Source§

fn try_to_string(&self) -> Result<String, TryReserveError>

ToString::to_string, but without panic on OOM.

Source§

impl<T> Transportable for T
where T: Serialize + DeserializeOwned + 'static,

Source§

fn transport_to_bytes(&self) -> Vec<u8>

Serialize the type to a byte vector for transport
Source§

fn transport_from_bytes(bytes: &[u8]) -> Result<T, Error<Error>>

Deserialize the type from a byte slice
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

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DependencyElement for T
where T: 'static + PartialEq + Clone,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,