bindable 0.1.2

An abstraction over an address that a server can bind to: either an IP address for TCP or a path for a Unix socket
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use super::BindableAddr;
use serde::de::{self, Deserialize, Deserializer};
use serde::ser::{Serialize, Serializer};

impl Serialize for BindableAddr {
	fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
		self.to_string().serialize(s)
	}
}

impl<'de> Deserialize<'de> for BindableAddr {
	fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
	where
		D::Error: de::Error,
	{
		String::deserialize(d)?.parse().map_err(de::Error::custom)
	}
}