diff --git a/Cargo.toml b/Cargo.toml index f9974e7b..b513f295 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -418,6 +418,10 @@ version = "1.0" default-features = false features = ["rc"] +[workspace.dependencies.serde_core] +version = "1.0" +default-features = false + [workspace.dependencies.serde_html_form] version = "0.2" diff --git a/src/core/Cargo.toml b/src/core/Cargo.toml index 90ea8bf2..0bb22988 100644 --- a/src/core/Cargo.toml +++ b/src/core/Cargo.toml @@ -85,6 +85,8 @@ reqwest.workspace = true ring.workspace = true ruma.workspace = true sanitize-filename.workspace = true +serde_core.workspace = true +serde_html_form.workspace = true serde_json.workspace = true serde_regex.workspace = true serde_yaml.workspace = true diff --git a/src/core/error/mod.rs b/src/core/error/mod.rs index 4de4dbfb..fd97e00f 100644 --- a/src/core/error/mod.rs +++ b/src/core/error/mod.rs @@ -57,6 +57,10 @@ pub enum Error { #[error(transparent)] Figment(#[from] figment::error::Error), #[error(transparent)] + HtmlFormDe(#[from] serde_html_form::de::Error), + #[error(transparent)] + HtmlFormSer(#[from] serde_html_form::ser::Error), + #[error(transparent)] Http(#[from] http::Error), #[error(transparent)] HttpHeader(#[from] http::header::InvalidHeaderValue), @@ -91,6 +95,8 @@ pub enum Error { #[error(transparent)] TypedHeader(#[from] axum_extra::typed_header::TypedHeaderRejection), #[error(transparent)] + UrlParse(#[from] url::ParseError), + #[error(transparent)] Yaml(#[from] serde_yaml::Error), // ruma/tuwunel diff --git a/src/core/error/serde.rs b/src/core/error/serde.rs index 0c5a153b..7566eb83 100644 --- a/src/core/error/serde.rs +++ b/src/core/error/serde.rs @@ -1,13 +1,11 @@ use std::fmt::Display; -use serde::{de, ser}; - use crate::Error; -impl de::Error for Error { +impl serde_core::de::Error for Error { fn custom(msg: T) -> Self { Self::SerdeDe(msg.to_string().into()) } } -impl ser::Error for Error { +impl serde_core::ser::Error for Error { fn custom(msg: T) -> Self { Self::SerdeSer(msg.to_string().into()) } }