-
Notifications
You must be signed in to change notification settings - Fork 0
/
ipinfo.go
52 lines (50 loc) · 2.22 KB
/
ipinfo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package iptrace
import "encoding/json"
// IPInfo - represent the full ip data from the get response
type IPInfo struct {
Country string `json:"country"`
Continent string `json:"continent"`
CountryFalg string `json:"country_falg"`
CountryCode string `json:"CountryCode"`
City string `json:"City"`
Region string `json:"Region"`
Lat float64 `json:"lat"`
Lng float64 `json:"lng"`
Tz string `json:"tz"`
Isp string `json:"isp"`
IsAnonymousProxy bool `json:"is_anonymous_proxy"`
IsSatelliteProvider bool `json:"is_satellite_provider"`
Currency []string `json:"currency"`
CountryDetails struct {
Name struct {
Common string `json:"common"`
Official string `json:"official"`
Native struct{} `json:"Native"`
} `json:"name"`
EuMember bool `json:"EuMember"`
LandLocked bool `json:"LandLocked"`
Nationality string `json:"Nationality"`
Tld []string `json:"tld"`
Languages interface{} `json:"Languages"`
Translations interface{} `json:"Translations"`
Currency []string `json:"currency"`
Borders []string `json:"Borders"`
Cca2 string `json:"cca2"`
Cca3 string `json:"cca3"`
CIOC string `json:"CIOC"`
CCN3 string `json:"CCN3"`
CallingCode []string `json:"callingCode"`
InternationalPrefix string `json:"InternationalPrefix"`
Region string `json:"region"`
Subregion string `json:"subregion"`
Continent string `json:"Continent"`
Capital string `json:"capital"`
Area int `json:"Area"`
Longitude json.Number `json:"longitude"`
Latitude json.Number `json:"latitude"`
MinLongitude float64 `json:"MinLongitude"`
MinLatitude float64 `json:"MinLatitude"`
MaxLongitude float64 `json:"MaxLongitude"`
MaxLatitude float64 `json:"MaxLatitude"`
} `json:"country_details"`
}