pub fn from_str(s: &str) -> Result<u16, ParseIntError>Examples found in repository?
examples/simple.rs (line 26)
5fn main() {
6 std::env::set_var("PORT", "8080");
7
8 let localhost = ip::localhost().with([
9 //
10 1234,
11 port::from_env("PORT").unwrap(),
12 port::from_env("PORT2").unwrap_or(5050),
13 ]);
14 assert_eq!(
15 localhost.to_socket_addrs().unwrap().collect::<Vec<_>>(),
16 vec![
17 SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 1234),
18 SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080),
19 SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 5050),
20 ]
21 );
22
23 let ip = ip::from([186, 23, 123, 1]).with([
24 //
25 80,
26 port::from_str("123").unwrap(),
27 port::from_env("PORT").unwrap(),
28 ]);
29 assert_eq!(
30 ip.to_socket_addrs().unwrap().collect::<Vec<_>>(),
31 vec![
32 SocketAddr::new(Ipv4Addr::new(186, 23, 123, 1).into(), 80),
33 SocketAddr::new(Ipv4Addr::new(186, 23, 123, 1).into(), 123),
34 SocketAddr::new(Ipv4Addr::new(186, 23, 123, 1).into(), 8080),
35 ]
36 );
37
38 let ip2 = ip::from_str("::ffff:aabb:ccdd").unwrap().with([80, 443]);
39 assert_eq!(
40 ip2.to_socket_addrs().unwrap().collect::<Vec<_>>(),
41 vec![
42 SocketAddr::new(
43 Ipv6Addr::new(0, 0, 0, 0, 0, 0xffff, 0xaabb, 0xccdd).into(),
44 80
45 ),
46 SocketAddr::new(
47 Ipv6Addr::new(0, 0, 0, 0, 0, 0xffff, 0xaabb, 0xccdd).into(),
48 443
49 ),
50 ]
51 );
52
53 std::env::set_var("IP", "168.32.12.1");
54 let ip3 = ip::from_env("IP").unwrap().with([80, 443]);
55 assert_eq!(
56 ip3.to_socket_addrs().unwrap().collect::<Vec<_>>(),
57 vec![
58 SocketAddr::new(Ipv4Addr::new(168, 32, 12, 1).into(), 80),
59 SocketAddr::new(Ipv4Addr::new(168, 32, 12, 1).into(), 443),
60 ]
61 );
62}