don't
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(knot): handle percent-encoded query parameters when deserializing `RepoSpec`

Signed-off-by: tjh <did:plc:65gha4t3avpfpzmvpbwovss7>

+3 -3
+3 -3
crates/knot/src/repospec.rs
··· 86 86 //! 87 87 use super::RepoSpec; 88 88 use serde::{Deserialize, Deserializer, Serializer}; 89 - use std::str::FromStr; 89 + use std::{borrow::Cow, str::FromStr}; 90 90 91 91 pub fn deserialize<'de, D>(deserializer: D) -> Result<RepoSpec, D::Error> 92 92 where 93 93 D: Deserializer<'de>, 94 94 { 95 - let s = <&str>::deserialize(deserializer)?; 96 - let repo = RepoSpec::from_str(s).map_err(serde::de::Error::custom)?; 95 + let s = <Cow<str>>::deserialize(deserializer)?; 96 + let repo = RepoSpec::from_str(&s).map_err(serde::de::Error::custom)?; 97 97 Ok(repo) 98 98 } 99 99