59 lines
1.8 KiB
Go
59 lines
1.8 KiB
Go
package edns
|
|
|
|
type QueryOptions struct {
|
|
Name string
|
|
RecordType string
|
|
Protocol string
|
|
Provider string
|
|
Method string
|
|
}
|
|
|
|
type Result struct {
|
|
SchemaVersion int `json:"schema_version"`
|
|
Operation string `json:"operation"`
|
|
Completed bool `json:"completed"`
|
|
Query QueryInfo `json:"query"`
|
|
Resolver ResolverInfo `json:"resolver"`
|
|
Transport TransportInfo `json:"transport"`
|
|
DNS DNSInfo `json:"dns"`
|
|
Warnings []string `json:"warnings,omitempty"`
|
|
Error *ErrorInfo `json:"error,omitempty"`
|
|
}
|
|
|
|
type QueryInfo struct {
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
type ResolverInfo struct {
|
|
Provider string `json:"provider"`
|
|
Endpoint string `json:"endpoint"`
|
|
Profile string `json:"profile"`
|
|
}
|
|
|
|
type TransportInfo struct {
|
|
Protocol string `json:"protocol"`
|
|
Encrypted bool `json:"encrypted"`
|
|
ServerAuthenticated bool `json:"server_authenticated"`
|
|
ElapsedMS int64 `json:"elapsed_ms"`
|
|
Bootstrap string `json:"bootstrap"`
|
|
TLSVersion string `json:"tls_version,omitempty"`
|
|
ALPN string `json:"alpn,omitempty"`
|
|
HTTPVersion string `json:"http_version,omitempty"`
|
|
}
|
|
|
|
type DNSInfo struct {
|
|
RCode string `json:"rcode"`
|
|
RCodeValue int `json:"rcode_value"`
|
|
ResolverReportsDNSSECAuthenticated bool `json:"resolver_reports_dnssec_authenticated"`
|
|
ClientValidatedDNSSEC bool `json:"client_validated_dnssec"`
|
|
Answers []AnswerRecord `json:"answers"`
|
|
}
|
|
|
|
type AnswerRecord map[string]any
|
|
|
|
type ErrorInfo struct {
|
|
Class string `json:"class"`
|
|
Message string `json:"message"`
|
|
}
|