summaryrefslogtreecommitdiffhomepage
path: root/Network/DNS/Resolver.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Network/DNS/Resolver.hs')
-rw-r--r--Network/DNS/Resolver.hs6
1 files changed, 2 insertions, 4 deletions
diff --git a/Network/DNS/Resolver.hs b/Network/DNS/Resolver.hs
index 41cabc7..306ea88 100644
--- a/Network/DNS/Resolver.hs
+++ b/Network/DNS/Resolver.hs
@@ -131,8 +131,7 @@ getRandom = getStdRandom (randomR (0,65535))
-}
lookup :: Resolver -> Domain -> TYPE -> IO (Maybe [RDATA])
lookup rlv dom typ = do
- mres <- lookupRaw rlv dom typ
- return (mres >>= toRDATA)
+ (>>= toRDATA) <$> lookupRaw rlv dom typ
where
{- CNAME hack
dom' = if "." `isSuffixOf` dom
@@ -152,8 +151,7 @@ lookupRaw :: Resolver -> Domain -> TYPE -> IO (Maybe DNSFormat)
lookupRaw rlv dom typ = do
seqno <- genId rlv
sendAll sock (composeQuery seqno [q])
- mres <- timeout tm (parseResponse <$> recv sock bufsize)
- return (mres >>= check seqno)
+ (>>= check seqno) <$> timeout tm (parseResponse <$> recv sock bufsize)
where
sock = dnsSock rlv
bufsize = dnsBufsize rlv