diff --git a/Cargo.lock b/Cargo.lock index 5d4f264ca..d35724d7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2125,6 +2125,7 @@ dependencies = [ "derive_more 2.1.0", "docs_rs_types", "docs_rs_uri", + "headers", "http 1.4.0", "itertools 0.14.0", "md5", diff --git a/crates/lib/docs_rs_headers/Cargo.toml b/crates/lib/docs_rs_headers/Cargo.toml index 35c2cfd92..52be78e36 100644 --- a/crates/lib/docs_rs_headers/Cargo.toml +++ b/crates/lib/docs_rs_headers/Cargo.toml @@ -5,18 +5,19 @@ edition = "2024" [dependencies] anyhow = { workspace = true } -axum-core = "0.5.5" -axum-extra = { workspace = true } askama = { workspace = true } +axum-core = "0.5.5" derive_more = { workspace = true } docs_rs_types = { path = "../docs_rs_types" } docs_rs_uri = { path = "../docs_rs_uri" } +headers = "0.4.1" http = { workspace = true } itertools = { workspace = true } md5 = "0.8.0" serde = { workspace = true } [dev-dependencies] +axum-extra = { workspace = true } serde_json = { workspace = true } test-case = { workspace = true } tokio = { workspace = true } diff --git a/crates/lib/docs_rs_headers/src/canonical_url.rs b/crates/lib/docs_rs_headers/src/canonical_url.rs index 23fbc3ca7..ff8bf5dd3 100644 --- a/crates/lib/docs_rs_headers/src/canonical_url.rs +++ b/crates/lib/docs_rs_headers/src/canonical_url.rs @@ -1,7 +1,7 @@ use anyhow::Result; use askama::filters::HtmlSafe; -use axum_extra::headers::{Header, HeaderName, HeaderValue}; use docs_rs_uri::EscapedURI; +use headers::{Header, HeaderName, HeaderValue}; use http::uri::Uri; use serde::Serialize; use std::{fmt, ops::Deref}; @@ -39,7 +39,7 @@ impl Header for CanonicalUrl { &http::header::LINK } - fn decode<'i, I>(_values: &mut I) -> Result + fn decode<'i, I>(_values: &mut I) -> Result where I: Iterator, { diff --git a/crates/lib/docs_rs_headers/src/etag.rs b/crates/lib/docs_rs_headers/src/etag.rs index 84addda21..5ea14de63 100644 --- a/crates/lib/docs_rs_headers/src/etag.rs +++ b/crates/lib/docs_rs_headers/src/etag.rs @@ -1,4 +1,4 @@ -use axum_extra::headers::ETag; +use headers::ETag; use std::io::{self, Write}; /// compute our etag header value from some content diff --git a/crates/lib/docs_rs_headers/src/if_none_match.rs b/crates/lib/docs_rs_headers/src/if_none_match.rs index b190b5f3f..141aa53f7 100644 --- a/crates/lib/docs_rs_headers/src/if_none_match.rs +++ b/crates/lib/docs_rs_headers/src/if_none_match.rs @@ -24,11 +24,11 @@ #[allow(clippy::disallowed_types)] mod header_impl { - use axum_extra::headers::{self, ETag, Header, IfNoneMatch as OriginalIfNoneMatch}; use derive_more::Deref; + use headers::{self, ETag, Header, IfNoneMatch as OriginalIfNoneMatch}; #[derive(Debug, Clone, PartialEq, Deref)] - pub struct IfNoneMatch(pub axum_extra::headers::IfNoneMatch); + pub struct IfNoneMatch(pub headers::IfNoneMatch); impl Header for IfNoneMatch { fn name() -> &'static http::HeaderName { diff --git a/crates/lib/docs_rs_headers/src/lib.rs b/crates/lib/docs_rs_headers/src/lib.rs index a163678f1..faee9f21b 100644 --- a/crates/lib/docs_rs_headers/src/lib.rs +++ b/crates/lib/docs_rs_headers/src/lib.rs @@ -5,9 +5,9 @@ mod surrogate_key; #[cfg(test)] mod testing; -pub use axum_extra::headers::ETag; pub use canonical_url::CanonicalUrl; pub use etag::{ETagComputer, compute_etag}; +pub use headers::ETag; pub use if_none_match::IfNoneMatch; pub use surrogate_key::{SURROGATE_KEY, SurrogateKey, SurrogateKeys}; diff --git a/crates/lib/docs_rs_headers/src/surrogate_key.rs b/crates/lib/docs_rs_headers/src/surrogate_key.rs index 217ecec9b..ee8c9af44 100644 --- a/crates/lib/docs_rs_headers/src/surrogate_key.rs +++ b/crates/lib/docs_rs_headers/src/surrogate_key.rs @@ -3,9 +3,9 @@ //! https://www.fastly.com/documentation/reference/http/http-headers/Surrogate-Key/haeders.surrogate keys use anyhow::{Context as _, bail}; -use axum_extra::headers::{self, Header}; use derive_more::Deref; use docs_rs_types::KrateName; +use headers::{self, Header}; use http::{HeaderName, HeaderValue}; use itertools::Itertools as _; use std::{collections::BTreeSet, fmt::Display, iter, str::FromStr}; diff --git a/crates/lib/docs_rs_headers/src/testing.rs b/crates/lib/docs_rs_headers/src/testing.rs index e67c1a57f..6cc273bc2 100644 --- a/crates/lib/docs_rs_headers/src/testing.rs +++ b/crates/lib/docs_rs_headers/src/testing.rs @@ -1,4 +1,4 @@ -use axum_extra::headers::{self, Header, HeaderMapExt}; +use headers::{self, Header, HeaderMapExt}; use http::{HeaderMap, HeaderValue}; pub(crate) fn test_typed_decode(value: V) -> Result, headers::Error>