aboutsummaryrefslogtreecommitdiff
path: root/plugin/forward/protocol.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/forward/protocol.go')
-rw-r--r--plugin/forward/protocol.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/plugin/forward/protocol.go b/plugin/forward/protocol.go
new file mode 100644
index 000000000..338b60116
--- /dev/null
+++ b/plugin/forward/protocol.go
@@ -0,0 +1,30 @@
+package forward
+
+// Copied from coredns/core/dnsserver/address.go
+
+import (
+ "strings"
+)
+
+// protocol returns the protocol of the string s. The second string returns s
+// with the prefix chopped off.
+func protocol(s string) (int, string) {
+ switch {
+ case strings.HasPrefix(s, _tls+"://"):
+ return TLS, s[len(_tls)+3:]
+ case strings.HasPrefix(s, _dns+"://"):
+ return DNS, s[len(_dns)+3:]
+ }
+ return DNS, s
+}
+
+// Supported protocols.
+const (
+ DNS = iota + 1
+ TLS
+)
+
+const (
+ _dns = "dns"
+ _tls = "tls"
+)