From 3bec16b151676b11088ccd262770992487979a34 Mon Sep 17 00:00:00 2001 From: SleeplessOne1917 Date: Sun, 24 Dec 2023 17:29:22 -0500 Subject: [PATCH 1/4] Add From impl for header map references --- actix-http/src/header/map.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/actix-http/src/header/map.rs b/actix-http/src/header/map.rs index d8a63b57366..8445159d3d9 100644 --- a/actix-http/src/header/map.rs +++ b/actix-http/src/header/map.rs @@ -643,6 +643,15 @@ impl From for HeaderMap { } } +impl From<&T> for HeaderMap +where + T: Into, +{ + fn from(map: &T) -> Self { + map.to_owned().into() + } +} + /// Convert our `HeaderMap` to a `http::HeaderMap`. impl From for http::HeaderMap { fn from(map: HeaderMap) -> Self { @@ -650,6 +659,13 @@ impl From for http::HeaderMap { } } +/// Convert our `&HeaderMap` to a `http::HeaderMap`. +impl From<&HeaderMap> for http::HeaderMap { + fn from(map: &HeaderMap) -> Self { + map.to_owned().into() + } +} + /// Iterator over removed, owned values with the same associated name. /// /// Returned from methods that remove or replace items. See [`HeaderMap::insert`] From f3e7ac23328a8870391273f0b011a37044130727 Mon Sep 17 00:00:00 2001 From: SleeplessOne1917 Date: Sun, 24 Dec 2023 17:29:22 -0500 Subject: [PATCH 2/4] Add From impl for header map references --- actix-http/CHANGES.md | 4 ++++ actix-http/src/header/map.rs | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/actix-http/CHANGES.md b/actix-http/CHANGES.md index 3068b4ce264..ed3d3536deb 100644 --- a/actix-http/CHANGES.md +++ b/actix-http/CHANGES.md @@ -2,6 +2,10 @@ ## Unreleased +### Changed + +- Implement `From<&HeaderMap>` for `http::HeaderMap` and vice versa. + ## 3.5.0 ### Changed diff --git a/actix-http/src/header/map.rs b/actix-http/src/header/map.rs index d8a63b57366..8445159d3d9 100644 --- a/actix-http/src/header/map.rs +++ b/actix-http/src/header/map.rs @@ -643,6 +643,15 @@ impl From for HeaderMap { } } +impl From<&T> for HeaderMap +where + T: Into, +{ + fn from(map: &T) -> Self { + map.to_owned().into() + } +} + /// Convert our `HeaderMap` to a `http::HeaderMap`. impl From for http::HeaderMap { fn from(map: HeaderMap) -> Self { @@ -650,6 +659,13 @@ impl From for http::HeaderMap { } } +/// Convert our `&HeaderMap` to a `http::HeaderMap`. +impl From<&HeaderMap> for http::HeaderMap { + fn from(map: &HeaderMap) -> Self { + map.to_owned().into() + } +} + /// Iterator over removed, owned values with the same associated name. /// /// Returned from methods that remove or replace items. See [`HeaderMap::insert`] From e4898aa2a69b5dd855bdc9f96e8a58d1dec29b28 Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Thu, 1 Feb 2024 05:46:22 +0000 Subject: [PATCH 3/4] Remove Into via http::HeaderMap --- actix-http/CHANGES.md | 2 +- actix-http/src/header/map.rs | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/actix-http/CHANGES.md b/actix-http/CHANGES.md index 7ae490bf5ad..c854d42008a 100644 --- a/actix-http/CHANGES.md +++ b/actix-http/CHANGES.md @@ -4,7 +4,7 @@ ### Changed -- Implement `From<&HeaderMap>` for `http::HeaderMap` and vice versa. +- Implement `From<&HeaderMap>` for `http::HeaderMap`. ## 3.5.1 diff --git a/actix-http/src/header/map.rs b/actix-http/src/header/map.rs index 8445159d3d9..b86798a4c32 100644 --- a/actix-http/src/header/map.rs +++ b/actix-http/src/header/map.rs @@ -643,15 +643,6 @@ impl From for HeaderMap { } } -impl From<&T> for HeaderMap -where - T: Into, -{ - fn from(map: &T) -> Self { - map.to_owned().into() - } -} - /// Convert our `HeaderMap` to a `http::HeaderMap`. impl From for http::HeaderMap { fn from(map: HeaderMap) -> Self { From a8d62f0b06084f95deb01a608ac534ea631744f7 Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Thu, 1 Feb 2024 05:46:52 +0000 Subject: [PATCH 4/4] fix changelog --- actix-http/CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actix-http/CHANGES.md b/actix-http/CHANGES.md index c854d42008a..3ce06442ec0 100644 --- a/actix-http/CHANGES.md +++ b/actix-http/CHANGES.md @@ -2,7 +2,7 @@ ## Unreleased -### Changed +### Added - Implement `From<&HeaderMap>` for `http::HeaderMap`.