From f3e7ac23328a8870391273f0b011a37044130727 Mon Sep 17 00:00:00 2001 From: SleeplessOne1917 Date: Sun, 24 Dec 2023 17:29:22 -0500 Subject: [PATCH] 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 3068b4ce2..ed3d3536d 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 d8a63b573..8445159d3 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`]