import ( "github.com/miekg/dns" ) // Define a DNS message msg := &dns.Msg{ Id: dns.Id(), Flags: dns.FlagRD, Opcode: dns.OpcodeQuery, Question: make([]dns.Question, 1), } // Set the hostname to be queried msg.Question[0] = dns.Question{ Name: "example.com.", Qtype: dns.TypeMX, Qclass: dns.ClassINET, } // Compress the message msg.Compress = true
import ( "github.com/miekg/dns" ) // Assume `raw` contains the raw DNS message bytes msg := new(dns.Msg) // Parse the DNS message err := msg.Unpack(raw) if err != nil { // handle error } // Uncompress the message msg.Uncompress = trueIn this example, the `Uncompress` field is set to `true` in the `Msg` struct, which tells the library to uncompress the domain names in the received message.