-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | IP2Proxy Haskell package for proxy detection.
--
-- This Haskell package allows users to query an IP address to determine
-- if it was being used as VPN anonymizer, open proxies, web proxies, Tor
-- exits, data center, web hosting (DCH) range, search engine robots
-- (SES) and residential (RES).
@package ip2proxy
@version 3.2.1
-- | This Haskell package allows users to query an IP address to determine
-- if it was being used as open proxy, web proxy, VPN anonymizer and TOR
-- exits.
--
-- IP2Proxy LITE BIN databases are available for free at
-- http://lite.ip2location.com/
module IP2Proxy
-- | Contains the BIN database file metadata.
data Meta
-- | Contains proxy results.
data IP2ProxyRecord
IP2ProxyRecord :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> Int -> IP2ProxyRecord
-- | Country code
[country_short] :: IP2ProxyRecord -> String
-- | Country name
[country_long] :: IP2ProxyRecord -> String
-- | Region name
[region] :: IP2ProxyRecord -> String
-- | City name
[city] :: IP2ProxyRecord -> String
-- | ISP name
[isp] :: IP2ProxyRecord -> String
-- | Proxy type
[proxy_type] :: IP2ProxyRecord -> String
-- | Domain
[domain] :: IP2ProxyRecord -> String
-- | Usage type
[usage_type] :: IP2ProxyRecord -> String
-- | ASN
[asn] :: IP2ProxyRecord -> String
-- | AS
[as] :: IP2ProxyRecord -> String
-- | Last seen
[last_seen] :: IP2ProxyRecord -> String
-- | Threat
[threat] :: IP2ProxyRecord -> String
-- | Provider
[provider] :: IP2ProxyRecord -> String
-- | Is proxy
[is_proxy] :: IP2ProxyRecord -> Int
-- | The getModuleVersion function returns a string containing the
-- module version.
getModuleVersion :: String
-- | The getPackageVersion function returns a string containing the
-- package version. It takes 1 argument; the metadata from open
-- function (Meta record).
getPackageVersion :: Meta -> String
-- | The getDatabaseVersion function returns a string containing the
-- database version. It takes 1 argument; the metadata from open
-- function (Meta record).
getDatabaseVersion :: Meta -> String
-- | The open function returns the Meta record containing metadata
-- from the BIN database file. It takes one argument, of type
-- String, which is the path to the BIN database file.
open :: String -> IO Meta
-- | The getAll function returns an IP2ProxyRecord containing proxy
-- data for an IP address. It takes 3 arguments; the BIN database file
-- path (String), the metadata from open function (Meta record)
-- & either IPv4 or IPv6 address (String).
getAll :: String -> Meta -> String -> IO IP2ProxyRecord
-- | The getCountryShort function returns the country code for an IP
-- address. It takes 3 arguments; the BIN database file path (String),
-- the metadata from open function (Meta record) & either IPv4
-- or IPv6 address (String).
getCountryShort :: String -> Meta -> String -> IO String
-- | The getCountryLong function returns the country name for an IP
-- address. It takes 3 arguments; the BIN database file path (String),
-- the metadata from open function (Meta record) & either IPv4
-- or IPv6 address (String).
getCountryLong :: String -> Meta -> String -> IO String
-- | The getRegion function returns the region name for an IP
-- address. It takes 3 arguments; the BIN database file path (String),
-- the metadata from open function (Meta record) & either IPv4
-- or IPv6 address (String).
getRegion :: String -> Meta -> String -> IO String
-- | The getCity function returns the city name for an IP address.
-- It takes 3 arguments; the BIN database file path (String), the
-- metadata from open function (Meta record) & either IPv4 or
-- IPv6 address (String).
getCity :: String -> Meta -> String -> IO String
-- | The getISP function returns the ISP name for an IP address. It
-- takes 3 arguments; the BIN database file path (String), the metadata
-- from open function (Meta record) & either IPv4 or IPv6
-- address (String).
getISP :: String -> Meta -> String -> IO String
-- | The getProxyType function returns the proxy type for an IP
-- address. It takes 3 arguments; the BIN database file path (String),
-- the metadata from open function (Meta record) & either IPv4
-- or IPv6 address (String).
getProxyType :: String -> Meta -> String -> IO String
-- | The getDomain function returns the domain name for an IP
-- address. It takes 3 arguments; the BIN database file path (String),
-- the metadata from open function (Meta record) & either IPv4
-- or IPv6 address (String).
getDomain :: String -> Meta -> String -> IO String
-- | The getUsageType function returns the usage type for an IP
-- address. It takes 3 arguments; the BIN database file path (String),
-- the metadata from open function (Meta record) & either IPv4
-- or IPv6 address (String).
getUsageType :: String -> Meta -> String -> IO String
-- | The getASN function returns the autonomous system number for an
-- IP address. It takes 3 arguments; the BIN database file path (String),
-- the metadata from open function (Meta record) & either IPv4
-- or IPv6 address (String).
getASN :: String -> Meta -> String -> IO String
-- | The getAS function returns the autonomous system name for an IP
-- address. It takes 3 arguments; the BIN database file path (String),
-- the metadata from open function (Meta record) & either IPv4
-- or IPv6 address (String).
getAS :: String -> Meta -> String -> IO String
-- | The getLastSeen function returns the number of days last seen
-- for an IP address. It takes 3 arguments; the BIN database file path
-- (String), the metadata from open function (Meta record) &
-- either IPv4 or IPv6 address (String).
getLastSeen :: String -> Meta -> String -> IO String
-- | The getThreat function returns the threat type of the proxy. It
-- takes 3 arguments; the BIN database file path (String), the metadata
-- from open function (Meta record) & either IPv4 or IPv6
-- address (String).
getThreat :: String -> Meta -> String -> IO String
-- | The getProvider function returns the provider of the proxy. It
-- takes 3 arguments; the BIN database file path (String), the metadata
-- from open function (Meta record) & either IPv4 or IPv6
-- address (String).
getProvider :: String -> Meta -> String -> IO String
-- | The isProxy function returns 0 if IP is not a proxy, 1 if is a
-- proxy and not data center IP, 2 if is a proxy and is a data center IP,
-- -1 if error. It takes 3 arguments; the BIN database file path
-- (String), the metadata from open function (Meta record) &
-- either IPv4 or IPv6 address (String).
isProxy :: String -> Meta -> String -> IO String
instance GHC.Show.Show IP2Proxy.IP2ProxyRecord
instance GHC.Show.Show IP2Proxy.Meta
-- | This Haskell package allows users to query an IP address to determine
-- if it was being used as open proxy, web proxy, VPN anonymizer and TOR
-- exits.
--
-- IP2Proxy Web Service API subscription at
-- https://www.ip2location.com/web-service/ip2proxy
module IP2ProxyWebService
-- | Contains the web service results.
data WSResult
WSResult :: String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> WSResult
-- | Response status or error
[response] :: WSResult -> String
-- | Country code
[countryCode] :: WSResult -> Maybe String
-- | Country name
[countryName] :: WSResult -> Maybe String
-- | Region name
[regionName] :: WSResult -> Maybe String
-- | City name
[cityName] :: WSResult -> Maybe String
-- | ISP name
[isp] :: WSResult -> Maybe String
-- | Domain
[domain] :: WSResult -> Maybe String
-- | Usage type
[usageType] :: WSResult -> Maybe String
-- | Autonomous System Number
[asn] :: WSResult -> Maybe String
-- | Autonomous System
[as] :: WSResult -> Maybe String
-- | Proxy last seen in days
[lastSeen] :: WSResult -> Maybe String
-- | Proxy type
[proxyType] :: WSResult -> Maybe String
-- | Threat type
[threat] :: WSResult -> Maybe String
-- | Whether is a proxy
[isProxy] :: WSResult -> Maybe String
-- | VPN provider name
[provider] :: WSResult -> Maybe String
-- | Contains the web service configuration.
data WSConfig
-- | The openWS function initializes the web service configuration.
-- It takes 3 arguments; the web service API key, the API package to call
-- & whether to use SSL.
openWS :: String -> String -> Bool -> IO WSConfig
-- | The lookUp function returns an WSResult containing proxy data
-- for an IP address. It takes 2 arguments; the web service configuration
-- from openWS function (WSConfig record) & either IPv4 or
-- IPv6 address (String).
lookUp :: WSConfig -> String -> IO WSResult
-- | The getCredit function returns an WSResult containing web
-- service credit balance for the API key. It takes 1 argument; the web
-- service configuration from openWS function (WSConfig record).
getCredit :: WSConfig -> IO WSResult
instance Data.Aeson.Types.ToJSON.ToJSON IP2ProxyWebService.WSResult
instance Data.Aeson.Types.FromJSON.FromJSON IP2ProxyWebService.WSResult
instance GHC.Show.Show IP2ProxyWebService.WSConfig
instance GHC.Classes.Eq IP2ProxyWebService.WSResult
instance GHC.Show.Show IP2ProxyWebService.WSResult