mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-29 01:04:15 -04: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"
 | |
| )
 |