mirror of
				https://github.com/coredns/coredns.git
				synced 2025-11-03 18:53:13 -05:00 
			
		
		
		
	* plugin/forward: add it This moves coredns/forward into CoreDNS. Fixes as a few bugs, adds a policy option and more tests to the plugin. Update the documentation, test IPv6 address and add persistent tests. * Always use random policy when spraying * include scrub fix here as well * use correct var name * Code review * go vet * Move logging to metrcs * Small readme updates * Fix readme
		
			
				
	
	
		
			31 lines
		
	
	
		
			505 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			505 B
		
	
	
	
		
			Go
		
	
	
	
	
	
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"
 | 
						|
)
 |