1 module Network.DNS.Named.Zone
10 import Network.DNS.Message
11 import Network.DNS.Named.Responder
16 zoneName :: !DomainName
17 , zoneResponders :: ![SomeResponder]
20 class ZoneFinder a where
21 findZone :: a -> DomainName -> IO Zone
23 instance ZoneFinder (DomainName -> Zone) where
26 instance ZoneFinder (DomainName -> IO Zone) where
29 instance ZoneFinder (DomainName -> Maybe Zone) where
30 findZone = ((return . fromMaybe defaultRootZone) .)
32 instance ZoneFinder (DomainName -> IO (Maybe Zone)) where
33 findZone = (fmap (fromMaybe defaultRootZone) .)
36 defaultRootZone :: Zone
39 zoneName = mkDomainName "."
40 , zoneResponders = [] -- FIXME