Documentation
¶
Index ¶
- type HTTPClient
- type HTTPTransport
- type RequestPacker
- type RequestPackerFunc
- type Resolver
- func (r Resolver) Do(ctx context.Context, msg *mdns.Msg) (resp *mdns.Msg, err error)
- func (r Resolver) LookupA(ctx context.Context, host string) (res []net.IP, err error)
- func (r Resolver) LookupAAAA(ctx context.Context, host string) (res []net.IP, err error)
- func (r Resolver) LookupMX(ctx context.Context, domain string) (res []string, err error)
- func (r Resolver) LookupPTR(ctx context.Context, inAddrArpa string) (res []string, err error)
- func (r Resolver) Question(ctx context.Context, question dns.Question) (resp *mdns.Msg, err error)
- type RoundTripper
- type TraditionalTransport
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HTTPClient ¶
type HTTPTransport ¶
type HTTPTransport struct { Packer RequestPacker Client HTTPClient Scheme string Server string }
type RequestPacker ¶
type RequestPacker interface {
Pack(queryURL *url.URL, question *mdns.Msg) (req *http.Request, err error)
}
var ( RequestPackerPOST RequestPacker = RequestPackerFunc(func(queryURL *url.URL, question *mdns.Msg) (req *http.Request, err error) { if data, err := question.Pack(); err != nil { return nil, err } else { if req, err = http.NewRequest(http.MethodPost, queryURL.String(), bytes.NewReader(data)); err != nil { return nil, err } req.Header.Set("Content-Type", "application/dns-message") return req, nil } }) RequestPackerGET RequestPacker = RequestPackerFunc(func(queryURL *url.URL, question *mdns.Msg) (req *http.Request, err error) { var ( data []byte encodedMsg string ) if data, err = question.Pack(); err != nil { return nil, err } encodedMsg = base64.URLEncoding.EncodeToString(data) queryValues := queryURL.Query() queryValues.Set("dns", encodedMsg) queryURL.RawQuery = queryValues.Encode() return http.NewRequest(http.MethodGet, queryURL.String(), nil) }) )
type RequestPackerFunc ¶
type Resolver ¶
type Resolver struct {
Transport RoundTripper
}
func (Resolver) LookupAAAA ¶
type RoundTripper ¶
Click to show internal directories.
Click to hide internal directories.