Add serde_html_form to Error; use serde_core for greater abstraction.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk committed 2025-12-23 02:55:32 +00:00
1 parent e79b888367
commit 422802a9cf
4 files changed
+14 -4

No files matched your search

+4
View File
@@ -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"
+2
View File
@@ -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
+6
View File
@@ -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
+2 -4
View File
@@ -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<T: Display + ToString>(msg: T) -> Self { Self::SerdeDe(msg.to_string().into()) }
}
impl ser::Error for Error {
impl serde_core::ser::Error for Error {
fn custom<T: Display + ToString>(msg: T) -> Self { Self::SerdeSer(msg.to_string().into()) }
}