Use &str instead of String

This commit is contained in:
Michael Pfaff 2021-01-20 22:01:18 -05:00
parent 60f07375ef
commit f8a508038d
Signed by: michael
GPG Key ID: E53B118B12B5C7F9
1 changed files with 28 additions and 28 deletions

View File

@ -5,37 +5,37 @@ use tide::Next;
use tide::Request; use tide::Request;
#[derive(Clone, Debug, PartialEq, Eq)] #[derive(Clone, Debug, PartialEq, Eq)]
pub enum Directive { pub enum Directive<'a> {
ChildSrc(Vec<String>), ChildSrc(Vec<&'a str>),
ConnectSrc(Vec<String>), ConnectSrc(Vec<&'a str>),
DefaultSrc(Vec<String>), DefaultSrc(Vec<&'a str>),
FontSrc(Vec<String>), FontSrc(Vec<&'a str>),
FrameSrc(Vec<String>), FrameSrc(Vec<&'a str>),
ImgSrc(Vec<String>), ImgSrc(Vec<&'a str>),
ManifestSrc(Vec<String>), ManifestSrc(Vec<&'a str>),
MediaSrc(Vec<String>), MediaSrc(Vec<&'a str>),
ObjectSrc(Vec<String>), ObjectSrc(Vec<&'a str>),
PrefetchSrc(Vec<String>), PrefetchSrc(Vec<&'a str>),
ScriptSrc(Vec<String>), ScriptSrc(Vec<&'a str>),
ScriptSrcElem(Vec<String>), ScriptSrcElem(Vec<&'a str>),
ScriptSrcAttr(Vec<String>), ScriptSrcAttr(Vec<&'a str>),
StyleSrc(Vec<String>), StyleSrc(Vec<&'a str>),
StyleSrcElem(Vec<String>), StyleSrcElem(Vec<&'a str>),
StyleSrcAttr(Vec<String>), StyleSrcAttr(Vec<&'a str>),
WorkerSrc(Vec<String>), WorkerSrc(Vec<&'a str>),
BaseUri(Vec<String>), BaseUri(Vec<&'a str>),
PluginTypes(Vec<String>), PluginTypes(Vec<&'a str>),
Sandbox(Sandbox), Sandbox(Sandbox),
FormAction(Vec<String>), FormAction(Vec<&'a str>),
FrameAncestors(Vec<String>), FrameAncestors(Vec<&'a str>),
NavigateTo(Vec<String>), NavigateTo(Vec<&'a str>),
ReportTo(String), ReportTo(String),
RequireTrustedTypesFor(TrustedTypesTarget), RequireTrustedTypesFor(TrustedTypesTarget),
TrustedTypes(TrustedTypes), TrustedTypes(TrustedTypes<'a>),
UpgradeInsecureRequests, UpgradeInsecureRequests,
} }
impl Display for Directive { impl<'a> Display for Directive<'a> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
match self { match self {
Self::ChildSrc(sources) => write!(f, "{}", sources.join(" ")), Self::ChildSrc(sources) => write!(f, "{}", sources.join(" ")),
@ -127,15 +127,15 @@ impl Display for TrustedTypesTarget {
} }
#[derive(Clone, Debug, PartialEq, Eq)] #[derive(Clone, Debug, PartialEq, Eq)]
pub enum TrustedTypes { pub enum TrustedTypes<'a> {
None, None,
Values { Values {
policy_names: Vec<String>, policy_names: Vec<&'a str>,
allow_duplicates: bool, allow_duplicates: bool,
}, },
} }
impl Display for TrustedTypes { impl<'a> Display for TrustedTypes<'a> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
match self { match self {
Self::None => write!(f, "'none'"), Self::None => write!(f, "'none'"),