cfx_config/
rpc_server_config.rs1use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4};
2
3#[derive(Debug, PartialEq)]
4pub struct HttpConfiguration {
5 pub enabled: bool,
6 pub address: SocketAddr,
7 pub keep_alive: bool,
8 pub threads: Option<usize>,
11 pub cors: Option<String>,
12}
13
14impl HttpConfiguration {
15 pub fn new(
16 ip: Option<(u8, u8, u8, u8)>, port: Option<u16>, keep_alive: bool,
17 threads: Option<usize>, cors: Option<String>,
18 ) -> Self {
19 let ipv4 = match ip {
20 Some(ip) => Ipv4Addr::new(ip.0, ip.1, ip.2, ip.3),
21 None => Ipv4Addr::new(0, 0, 0, 0),
22 };
23 HttpConfiguration {
24 enabled: port.is_some(),
25 address: SocketAddr::V4(SocketAddrV4::new(ipv4, port.unwrap_or(0))),
26 keep_alive,
27 threads,
28 cors,
29 }
30 }
31}
32
33#[derive(Debug, PartialEq)]
34pub struct WsConfiguration {
35 pub enabled: bool,
36 pub address: SocketAddr,
37 pub max_payload_bytes: usize,
38 pub cors: Option<String>,
39}
40
41impl WsConfiguration {
42 pub fn new(
43 ip: Option<(u8, u8, u8, u8)>, port: Option<u16>,
44 max_payload_bytes: usize, cors: Option<String>,
45 ) -> Self {
46 let ipv4 = match ip {
47 Some(ip) => Ipv4Addr::new(ip.0, ip.1, ip.2, ip.3),
48 None => Ipv4Addr::new(0, 0, 0, 0),
49 };
50 WsConfiguration {
51 enabled: port.is_some(),
52 address: SocketAddr::V4(SocketAddrV4::new(ipv4, port.unwrap_or(0))),
53 max_payload_bytes,
54 cors,
55 }
56 }
57}