Skip to main content

axum_session/
errors.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum SessionError {
5    #[error(transparent)]
6    IO(#[from] std::io::Error),
7    #[error(transparent)]
8    Decode(#[from] base64::DecodeError),
9    #[error(transparent)]
10    SerdeJson(#[from] serde_json::error::Error),
11    #[error(transparent)]
12    HTTP(#[from] http::Error),
13    #[error(transparent)]
14    UUID(#[from] uuid::Error),
15    #[error(transparent)]
16    UTF8(#[from] std::string::FromUtf8Error),
17    #[error(transparent)]
18    DatabaseError(#[from] crate::DatabaseError),
19    #[error("unknown Session store error")]
20    Unknown,
21    #[error("{0}")]
22    GenericNotSupportedError(String),
23    #[error("Session was not found. Either the session was unloaded or was never created.")]
24    NoSessionError,
25    #[error(
26        "The Session Exists but is outdated, either renew it or remove it. \n
27    Session will get removed on next Session request purge update if no changes are done."
28    )]
29    OldSessionError,
30    #[error("Failed to remove expired session's from database")]
31    FailedRemoval(String),
32}