resolve_address )
where
-import Control.Monad ( liftM )
import qualified Data.ByteString.Char8 as BS ( pack )
import Data.IP (IPv4)
import Network.DNS (
-- Examples:
--
-- >>> resolve_address "example.com"
--- Right [93.184.216.119]
--- >>> resolve_address "93.184.216.119"
--- Right [93.184.216.119]
+-- Right [93.184.216.34]
+-- >>> resolve_address "93.184.216.34"
+-- Right [93.184.216.34]
--
resolve_address :: String -> IO (Either DNSError [IPv4])
resolve_address s =
--
lookupMX' :: Resolver -> Domain -> IO LookupResult
lookupMX' resolver domain =
- liftM (pair_em . drop_priority) $ lookupMX resolver domain
+ fmap (pair_em . drop_priority) $ lookupMX resolver domain
where
drop_priority :: Either DNSError [(Domain, Int)]
-> Either DNSError [Domain]
lookupNS' resolver domain = do
answer_result <- lookupNS resolver domain
auth_result <- lookupNSAuth resolver domain
- liftM pair_em $ return $ combine answer_result auth_result
+ fmap pair_em $ return $ combine answer_result auth_result
where
pair_em :: a -> (Domain, a)
pair_em = (,) domain