mirror of
https://github.com/tokio-rs/axum.git
synced 2026-09-08 00:00:24 +02:00
Switch serde dependency to serde_core (#3477)
This commit is contained in:
+7
-3
@@ -33,7 +33,7 @@ allowed = [
|
||||
"bytes",
|
||||
"http",
|
||||
"http_body",
|
||||
"serde",
|
||||
"serde_core",
|
||||
"tokio",
|
||||
# for the `__private` feature
|
||||
"reqwest",
|
||||
@@ -78,6 +78,7 @@ __private_docs = [
|
||||
"axum-core/__private_docs",
|
||||
# Enables upstream things linked to in docs
|
||||
"tower/full",
|
||||
"dep:serde",
|
||||
"dep:tower-http",
|
||||
]
|
||||
|
||||
@@ -100,7 +101,7 @@ memchr = "2.4.1"
|
||||
mime = "0.3.16"
|
||||
percent-encoding = "2.1"
|
||||
pin-project-lite = "0.2.7"
|
||||
serde = "1.0"
|
||||
serde_core = "1.0.221"
|
||||
sync_wrapper = "1.0.0"
|
||||
tower = { version = "0.5.2", default-features = false, features = ["util"] }
|
||||
tower-layer = "0.3.2"
|
||||
@@ -122,6 +123,9 @@ tokio = { package = "tokio", version = "1.44", features = ["time"], optional = t
|
||||
tokio-tungstenite = { version = "0.27.0", optional = true }
|
||||
tracing = { version = "0.1", default-features = false, optional = true }
|
||||
|
||||
# doc dependencies
|
||||
serde = { version = "1.0.211", optional = true }
|
||||
|
||||
[dependencies.tower-http]
|
||||
version = "0.6.0"
|
||||
optional = true
|
||||
@@ -165,7 +169,7 @@ hyper = { version = "1.1.0", features = ["client"] }
|
||||
quickcheck = "1.0"
|
||||
quickcheck_macros = "1.0"
|
||||
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "multipart"] }
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde = { version = "1.0.221", features = ["derive"] }
|
||||
serde_json = { version = "1.0", features = ["raw_value"] }
|
||||
time = { version = "0.3", features = ["serde-human-readable"] }
|
||||
tokio = { package = "tokio", version = "1.44.2", features = ["macros", "rt", "rt-multi-thread", "net", "test-util"] }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use super::{ErrorKind, PathDeserializationError};
|
||||
use crate::util::PercentDecodedStr;
|
||||
use serde::{
|
||||
use serde_core::{
|
||||
de::{self, DeserializeSeed, EnumAccess, Error, MapAccess, SeqAccess, VariantAccess, Visitor},
|
||||
forward_to_deserialize_any, Deserializer,
|
||||
};
|
||||
|
||||
@@ -14,7 +14,7 @@ use axum_core::{
|
||||
RequestPartsExt as _,
|
||||
};
|
||||
use http::{request::Parts, StatusCode};
|
||||
use serde::de::DeserializeOwned;
|
||||
use serde_core::de::DeserializeOwned;
|
||||
use std::{fmt, sync::Arc};
|
||||
|
||||
/// Extractor that will get captures from the URL and parse them using
|
||||
@@ -254,7 +254,7 @@ impl WrongNumberOfParameters<usize> {
|
||||
}
|
||||
}
|
||||
|
||||
impl serde::de::Error for PathDeserializationError {
|
||||
impl serde_core::de::Error for PathDeserializationError {
|
||||
#[inline]
|
||||
fn custom<T>(msg: T) -> Self
|
||||
where
|
||||
@@ -710,7 +710,7 @@ mod tests {
|
||||
async fn captures_match_empty_inner_segments() {
|
||||
let app = Router::new().route(
|
||||
"/{key}/method",
|
||||
get(|Path(param): Path<String>| async move { param.to_string() }),
|
||||
get(|Path(param): Path<String>| async move { param.clone() }),
|
||||
);
|
||||
|
||||
let client = TestClient::new(app);
|
||||
@@ -726,7 +726,7 @@ mod tests {
|
||||
async fn captures_match_empty_inner_segments_near_end() {
|
||||
let app = Router::new().route(
|
||||
"/method/{key}/",
|
||||
get(|Path(param): Path<String>| async move { param.to_string() }),
|
||||
get(|Path(param): Path<String>| async move { param.clone() }),
|
||||
);
|
||||
|
||||
let client = TestClient::new(app);
|
||||
@@ -745,7 +745,7 @@ mod tests {
|
||||
async fn captures_match_empty_trailing_segment() {
|
||||
let app = Router::new().route(
|
||||
"/method/{key}",
|
||||
get(|Path(param): Path<String>| async move { param.to_string() }),
|
||||
get(|Path(param): Path<String>| async move { param.clone() }),
|
||||
);
|
||||
|
||||
let client = TestClient::new(app);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use super::{rejection::*, FromRequestParts};
|
||||
use http::{request::Parts, Uri};
|
||||
use serde::de::DeserializeOwned;
|
||||
use serde_core::de::DeserializeOwned;
|
||||
|
||||
/// Extractor that deserializes query strings into some type.
|
||||
///
|
||||
|
||||
+1
-2
@@ -4,8 +4,7 @@ use axum_core::response::{IntoResponse, Response};
|
||||
use axum_core::RequestExt;
|
||||
use http::header::CONTENT_TYPE;
|
||||
use http::StatusCode;
|
||||
use serde::de::DeserializeOwned;
|
||||
use serde::Serialize;
|
||||
use serde_core::{de::DeserializeOwned, Serialize};
|
||||
|
||||
/// URL encoded extractor and response.
|
||||
///
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ use http::{
|
||||
header::{self, HeaderMap, HeaderValue},
|
||||
StatusCode,
|
||||
};
|
||||
use serde::{de::DeserializeOwned, Serialize};
|
||||
use serde_core::{de::DeserializeOwned, Serialize};
|
||||
|
||||
/// JSON Extractor / Response.
|
||||
///
|
||||
|
||||
@@ -255,7 +255,7 @@ impl Event {
|
||||
#[cfg(feature = "json")]
|
||||
pub fn json_data<T>(self, data: T) -> Result<Self, axum_core::Error>
|
||||
where
|
||||
T: serde::Serialize,
|
||||
T: serde_core::Serialize,
|
||||
{
|
||||
struct JsonWriter<'a>(&'a mut EventDataWriter);
|
||||
impl std::io::Write for JsonWriter<'_> {
|
||||
|
||||
@@ -102,7 +102,7 @@ impl RequestBuilder {
|
||||
|
||||
pub fn json<T>(mut self, json: &T) -> Self
|
||||
where
|
||||
T: serde::Serialize,
|
||||
T: serde_core::Serialize,
|
||||
{
|
||||
self.builder = self.builder.json(json);
|
||||
self
|
||||
@@ -165,7 +165,7 @@ impl TestResponse {
|
||||
#[allow(dead_code)]
|
||||
pub async fn json<T>(self) -> T
|
||||
where
|
||||
T: serde::de::DeserializeOwned,
|
||||
T: serde_core::de::DeserializeOwned,
|
||||
{
|
||||
self.response.json().await.unwrap()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user