from_str

Function from_str 

Source
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}