microdns-0.1.0.0: src/MicroDNS/DAI.hs
module MicroDNS.DAI where
import Data.Text (Text)
import qualified Network.DNS as DNS
import Network.Socket (SockAddr, Socket)
type Reason = Text
data Response
= Ignore Reason
| RespondMessage !DNS.DNSMessage
deriving (Show)
data Request
= Request
{ requestAddr :: !SockAddr
, requestMessage :: !DNS.DNSMessage
}
deriving (Show)
type Handler = Request -> (Response -> IO ()) -> IO ()
type Middleware = Handler -> Handler