packages feed

hsdns-1.4.2: example/adns-srv-test.hs

{-
    Resolve a hostnames' SRV records, then show it
-}

module Main ( main ) where

import Control.Monad            ( when )
import System.Environment       ( getArgs )
import Network.Socket           ( inet_ntoa )
import Data.List                ( elem )
import ADNS

main :: IO ()
main = do
  names <- getArgs
  when (null names) (putStrLn "Usage: hostname [hostname ...]")
  initResolver [Debug] $ \resolver -> do
    a <- querySRV resolver $ head names
    case a of
	Just addr -> do
	    putStrLn $ "RESULT:\n" ++ (concat $ map (\b -> (fst b) ++ (show $ snd b) ++ "\n") addr)
	_ -> putStrLn $ "Error in SRV " ++ (show a)

-- ----- Configure Emacs -----
--
-- Local Variables: ***
-- haskell-program-name: "ghci -ladns" ***
-- End: ***