From e0323f5a0c9585ae0eeafd3849848eff068ce834 Mon Sep 17 00:00:00 2001 From: Sebastian Scheibner Date: Wed, 3 Jan 2024 20:18:14 +0100 Subject: [PATCH] Implement Display for Referer (#122) Based on #95, but just adds impl Display --- src/common/referer.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/common/referer.rs b/src/common/referer.rs index c85973b9..0325f564 100644 --- a/src/common/referer.rs +++ b/src/common/referer.rs @@ -1,6 +1,7 @@ +use std::fmt; use std::str::FromStr; -use http::header::HeaderValue; +use util::HeaderValueString; /// `Referer` header, defined in /// [RFC7231](http://tools.ietf.org/html/rfc7231#section-5.5.2) @@ -30,7 +31,7 @@ use http::header::HeaderValue; /// let r = Referer::from_static("/People.html#tim"); /// ``` #[derive(Debug, Clone, PartialEq)] -pub struct Referer(HeaderValue); +pub struct Referer(HeaderValueString); derive_header! { Referer(_), @@ -44,7 +45,7 @@ impl Referer { /// /// Panics if the string is not a legal header value. pub fn from_static(s: &'static str) -> Referer { - Referer(HeaderValue::from_static(s)) + Referer(HeaderValueString::from_static(s)) } } @@ -53,8 +54,14 @@ error_type!(InvalidReferer); impl FromStr for Referer { type Err = InvalidReferer; fn from_str(src: &str) -> Result { - HeaderValue::from_str(src) + HeaderValueString::from_str(src) .map(Referer) .map_err(|_| InvalidReferer { _inner: () }) } } + +impl fmt::Display for Referer { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fmt::Display::fmt(&self.0, f) + } +}