Migrate to ruma-serde from serde_urlencoded
This commit is contained in:
parent
e24826cea5
commit
3428e9dd92
@ -20,9 +20,9 @@ http = "0.2.1"
|
|||||||
percent-encoding = "2.1.0"
|
percent-encoding = "2.1.0"
|
||||||
ruma-api-macros = { version = "=0.16.0-rc.3", path = "ruma-api-macros" }
|
ruma-api-macros = { version = "=0.16.0-rc.3", path = "ruma-api-macros" }
|
||||||
ruma-identifiers = "0.16.0"
|
ruma-identifiers = "0.16.0"
|
||||||
|
ruma-serde = "0.1.3"
|
||||||
serde = { version = "1.0.106", features = ["derive"] }
|
serde = { version = "1.0.106", features = ["derive"] }
|
||||||
serde_json = "1.0.51"
|
serde_json = "1.0.51"
|
||||||
serde_urlencoded = "0.6.1"
|
|
||||||
strum = "0.18.0"
|
strum = "0.18.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
@ -204,7 +204,7 @@ impl ToTokens for Api {
|
|||||||
// error when the type of the field with the query_map
|
// error when the type of the field with the query_map
|
||||||
// attribute doesn't implement IntoIterator<Item = (String, String)>
|
// attribute doesn't implement IntoIterator<Item = (String, String)>
|
||||||
//
|
//
|
||||||
// This is necessary because the serde_urlencoded::to_string
|
// This is necessary because the ruma_serde::urlencoded::to_string
|
||||||
// call will result in a runtime error when the type cannot be
|
// call will result in a runtime error when the type cannot be
|
||||||
// encoded as a list key-value pairs (?key1=value1&key2=value2)
|
// encoded as a list key-value pairs (?key1=value1&key2=value2)
|
||||||
//
|
//
|
||||||
@ -217,7 +217,7 @@ impl ToTokens for Api {
|
|||||||
assert_trait_impl::<#field_type>();
|
assert_trait_impl::<#field_type>();
|
||||||
|
|
||||||
let request_query = RequestQuery(request.#field_name);
|
let request_query = RequestQuery(request.#field_name);
|
||||||
format!("?{}", ruma_api::exports::serde_urlencoded::to_string(request_query)?)
|
format!("?{}", ruma_api::exports::ruma_serde::urlencoded::to_string(request_query)?)
|
||||||
})
|
})
|
||||||
} else if self.request.has_query_fields() {
|
} else if self.request.has_query_fields() {
|
||||||
let request_query_init_fields = self.request.request_query_init_fields();
|
let request_query_init_fields = self.request.request_query_init_fields();
|
||||||
@ -227,7 +227,7 @@ impl ToTokens for Api {
|
|||||||
#request_query_init_fields
|
#request_query_init_fields
|
||||||
};
|
};
|
||||||
|
|
||||||
format!("?{}", ruma_api::exports::serde_urlencoded::to_string(request_query)?)
|
format!("?{}", ruma_api::exports::ruma_serde::urlencoded::to_string(request_query)?)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
quote! {
|
quote! {
|
||||||
@ -237,7 +237,7 @@ impl ToTokens for Api {
|
|||||||
|
|
||||||
let extract_request_query = if self.request.query_map_field().is_some() {
|
let extract_request_query = if self.request.query_map_field().is_some() {
|
||||||
quote! {
|
quote! {
|
||||||
let request_query = match ruma_api::exports::serde_urlencoded::from_str(
|
let request_query = match ruma_api::exports::ruma_serde::urlencoded::from_str(
|
||||||
&request.uri().query().unwrap_or("")
|
&request.uri().query().unwrap_or("")
|
||||||
) {
|
) {
|
||||||
Ok(query) => query,
|
Ok(query) => query,
|
||||||
@ -251,7 +251,7 @@ impl ToTokens for Api {
|
|||||||
} else if self.request.has_query_fields() {
|
} else if self.request.has_query_fields() {
|
||||||
quote! {
|
quote! {
|
||||||
let request_query: RequestQuery =
|
let request_query: RequestQuery =
|
||||||
match ruma_api::exports::serde_urlencoded::from_str(
|
match ruma_api::exports::ruma_serde::urlencoded::from_str(
|
||||||
&request.uri().query().unwrap_or("")
|
&request.uri().query().unwrap_or("")
|
||||||
) {
|
) {
|
||||||
Ok(query) => query,
|
Ok(query) => query,
|
||||||
|
12
src/error.rs
12
src/error.rs
@ -29,8 +29,8 @@ impl From<serde_json::Error> for IntoHttpError {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
impl From<serde_urlencoded::ser::Error> for IntoHttpError {
|
impl From<ruma_serde::urlencoded::error::Error> for IntoHttpError {
|
||||||
fn from(err: serde_urlencoded::ser::Error) -> Self {
|
fn from(err: ruma_serde::urlencoded::error::Error) -> Self {
|
||||||
Self(SerializationError::Query(err))
|
Self(SerializationError::Query(err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -195,7 +195,7 @@ impl<E: std::error::Error> std::error::Error for ServerError<E> {}
|
|||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
enum SerializationError {
|
enum SerializationError {
|
||||||
Json(serde_json::Error),
|
Json(serde_json::Error),
|
||||||
Query(serde_urlencoded::ser::Error),
|
Query(ruma_serde::urlencoded::error::Error),
|
||||||
}
|
}
|
||||||
|
|
||||||
/// This type is public so it is accessible from `ruma_api!` generated code.
|
/// This type is public so it is accessible from `ruma_api!` generated code.
|
||||||
@ -205,7 +205,7 @@ enum SerializationError {
|
|||||||
pub enum DeserializationError {
|
pub enum DeserializationError {
|
||||||
Utf8(std::str::Utf8Error),
|
Utf8(std::str::Utf8Error),
|
||||||
Json(serde_json::Error),
|
Json(serde_json::Error),
|
||||||
Query(serde_urlencoded::de::Error),
|
Query(ruma_serde::urlencoded::de::Error),
|
||||||
Ident(ruma_identifiers::Error),
|
Ident(ruma_identifiers::Error),
|
||||||
// String <> Enum conversion failed. This can currently only happen in path
|
// String <> Enum conversion failed. This can currently only happen in path
|
||||||
// segment deserialization
|
// segment deserialization
|
||||||
@ -239,8 +239,8 @@ impl From<serde_json::Error> for DeserializationError {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
impl From<serde_urlencoded::de::Error> for DeserializationError {
|
impl From<ruma_serde::urlencoded::de::Error> for DeserializationError {
|
||||||
fn from(err: serde_urlencoded::de::Error) -> Self {
|
fn from(err: ruma_serde::urlencoded::de::Error) -> Self {
|
||||||
Self::Query(err)
|
Self::Query(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -200,9 +200,9 @@ pub mod error;
|
|||||||
pub mod exports {
|
pub mod exports {
|
||||||
pub use http;
|
pub use http;
|
||||||
pub use percent_encoding;
|
pub use percent_encoding;
|
||||||
|
pub use ruma_serde;
|
||||||
pub use serde;
|
pub use serde;
|
||||||
pub use serde_json;
|
pub use serde_json;
|
||||||
pub use serde_urlencoded;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
use error::{FromHttpRequestError, FromHttpResponseError, IntoHttpError};
|
use error::{FromHttpRequestError, FromHttpResponseError, IntoHttpError};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user