-
-
Notifications
You must be signed in to change notification settings - Fork 298
/
rr_context.go
39 lines (31 loc) · 902 Bytes
/
rr_context.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package resolver
import (
"time"
"github.com/miekg/dns"
)
// DNSRequestContext is a static structure to add information to DNS request connections.
type DNSRequestContext struct {
Domain string
Question string
RCode string
ServedFromCache bool
RequestingNew bool
IsBackup bool
Filtered bool
Modified time.Time
Expires time.Time
}
// ToDNSRequestContext returns a new DNSRequestContext of the RRCache.
func (rrCache *RRCache) ToDNSRequestContext() *DNSRequestContext {
return &DNSRequestContext{
Domain: rrCache.Domain,
Question: rrCache.Question.String(),
RCode: dns.RcodeToString[rrCache.RCode],
ServedFromCache: rrCache.ServedFromCache,
RequestingNew: rrCache.RequestingNew,
IsBackup: rrCache.IsBackup,
Filtered: rrCache.Filtered,
Modified: time.Unix(rrCache.Modified, 0),
Expires: time.Unix(rrCache.Expires, 0),
}
}