aboutsummaryrefslogtreecommitdiff
path: root/middleware/etcd/debug.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/etcd/debug.go')
-rw-r--r--middleware/etcd/debug.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/middleware/etcd/debug.go b/middleware/etcd/debug.go
new file mode 100644
index 000000000..b8ca3344f
--- /dev/null
+++ b/middleware/etcd/debug.go
@@ -0,0 +1,38 @@
+package etcd
+
+import (
+ "strings"
+
+ "github.com/miekg/coredns/middleware/etcd/msg"
+
+ "github.com/miekg/dns"
+)
+
+const debugName = "o-o.debug."
+
+// isDebug checks if name is a debugging name, i.e. starts with o-o.debug.
+// it return the empty string if it is not a debug message, otherwise it will return the
+// name with o-o.debug. stripped off.
+func isDebug(name string) string {
+ if len(name) == len(debugName) {
+ return ""
+ }
+ debug := strings.HasPrefix(name, debugName)
+ if !debug {
+ return ""
+ }
+ return name[len(debugName):]
+}
+
+// servicesToTxt puts debug in TXT RRs.
+func servicesToTxt(debug []msg.Service) []dns.RR {
+ if debug == nil {
+ return nil
+ }
+
+ rr := make([]dns.RR, len(debug))
+ for i, d := range debug {
+ rr[i] = d.RR()
+ }
+ return rr
+}