1use serde::Serialize;
2#[derive(Debug, Serialize)]
3pub struct IdcInfo<'a>{
4 pub country_name:&'a str,
5 pub region_name:&'a str,
6 pub city_name:&'a str,
7 pub owner_domain:&'a str,
8 pub isp_domain:&'a str,
9 pub idc:&'a str,
10}
11
12impl<'a> From<Vec<&'a str>> for IdcInfo<'a>{
13 fn from(buff: Vec<&'a str>) -> Self {
14 IdcInfo {
15 country_name: if buff.len() > 0 { buff[0] } else { "" },
16 region_name: if buff.len() > 1 { buff[1] } else { "" },
17 city_name: if buff.len() > 2 { buff[2] } else { "" },
18 owner_domain: if buff.len() > 3 { buff[3] } else { "" },
19 isp_domain: if buff.len() > 4 { buff[4] } else { "" },
20 idc: if buff.len() > 5 { buff[5] } else { "" }
21 }
22 }
23}
24
25
26impl<'a> ToString for IdcInfo<'a>{
27 fn to_string(&self) -> String {
28 format!("{:?}",self)
29 }
30}