Remove unused module

This commit is contained in:
2021-01-31 01:42:23 +01:00
parent 6085860bc6
commit e491d4aff6

View File

@ -1,69 +0,0 @@
use http::uri::InvalidUri;
use rocket::http::hyper::Uri as HyperUri;
use serde::{
de::{Deserializer, Error, Visitor},
ser::Serializer,
Deserialize, Serialize,
};
use std::fmt;
use std::ops::Deref;
use std::str::FromStr;
pub struct Uri(HyperUri);
impl Deref for Uri {
type Target = HyperUri;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl Serialize for Uri {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serializer.serialize_str(&self.0.to_string())
}
}
struct UriVisitor;
impl<'de> Visitor<'de> for UriVisitor {
type Value = Uri;
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
formatter.write_str("an uri")
}
fn visit_str<E: Error>(self, v: &str) -> Result<Self::Value, E> {
match v.parse() {
Ok(uri) => Ok(Uri(uri)),
Err(e) => Err(E::custom(format!("failed to parse uri: {}", e))),
}
}
}
impl<'de> Deserialize<'de> for Uri {
fn deserialize<D>(deserializer: D) -> Result<Uri, D::Error>
where
D: Deserializer<'de>,
{
deserializer.deserialize_string(UriVisitor)
}
}
impl FromStr for Uri {
type Err = InvalidUri;
fn from_str(s: &str) -> Result<Self, Self::Err> {
Ok(Uri(s.parse()?))
}
}
impl ToString for Uri {
fn to_string(&self) -> String {
self.0.to_string()
}
}