dnsbase-1.0.0.0: src/Net/DNSBase/Message.hs
{-|
Module : Net.DNSBase.Message
Description : The DNS message container type and wire-form encoders
Copyright : (c) Viktor Dukhovni, 2026
License : BSD-3-Clause
Maintainer : ietf-dane@dukhovni.org
Stability : unstable
A 'DNSMessage' is the full DNS-protocol packet
([RFC 1035 section 4.1](https://datatracker.ietf.org/doc/html/rfc1035#section-4.1)):
a 16-bit query identifier, the flag word, and four sections
(question, answer, authority, additional) carrying the associated
'Net.DNSBase.RR.RR' lists. The lookup functions return either a
whole 'DNSMessage' (via 'Net.DNSBase.Lookup.lookupRaw' /
'Net.DNSBase.Lookup.lookupRawCtl') or just the filtered answer
'Net.DNSBase.RR.RR' list (via 'Net.DNSBase.Lookup.lookupAnswers'
and the per-RR-type lookups).
'putMessage' and 'putRequest' are the wire-format encoders.
Applications building responses use 'putMessage' directly;
'putRequest' is the stub-resolver path used by
"Net.DNSBase.Internal.Transport".
-}
module Net.DNSBase.Message
( -- * DNS Message data type
DNSMessage(..)
, QueryID
, putMessage
, putRequest
) where
import Net.DNSBase.Internal.Message