mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 10:13:14 -04:00 
			
		
		
		
	Add route53 plugin (#1390)
* Update vendor Signed-off-by: Yong Tang <yong.tang.github@outlook.com> * Add route53 plugin This fix adds route53 plugin so that it is possible to query route53 record through CoreDNS. Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This commit is contained in:
		
							
								
								
									
										40
									
								
								vendor/github.com/go-openapi/swag/util.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								vendor/github.com/go-openapi/swag/util.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -20,6 +20,7 @@ import ( | ||||
| 	"regexp" | ||||
| 	"sort" | ||||
| 	"strings" | ||||
| 	"sync" | ||||
| 	"unicode" | ||||
| ) | ||||
|  | ||||
| @@ -67,7 +68,9 @@ var commonInitialisms = map[string]bool{ | ||||
| } | ||||
| var initialisms []string | ||||
|  | ||||
| func init() { | ||||
| var once sync.Once | ||||
|  | ||||
| func sortInitialisms() { | ||||
| 	for k := range commonInitialisms { | ||||
| 		initialisms = append(initialisms, k) | ||||
| 	} | ||||
| @@ -166,6 +169,7 @@ func split(str string) (words []string) { | ||||
| 	str = rex1.ReplaceAllString(str, " $1") | ||||
|  | ||||
| 	// check if consecutive single char things make up an initialism | ||||
| 	once.Do(sortInitialisms) | ||||
| 	for _, k := range initialisms { | ||||
| 		str = strings.Replace(str, rex1.ReplaceAllString(k, " $1"), " "+k, -1) | ||||
| 	} | ||||
| @@ -205,34 +209,11 @@ func Camelize(word string) (camelized string) { | ||||
| // ToFileName lowercases and underscores a go type name | ||||
| func ToFileName(name string) string { | ||||
| 	var out []string | ||||
| 	cml := trim(name) | ||||
|  | ||||
| 	// Camelize any capital word preceding a reserved keyword ("initialism") | ||||
| 	// thus, upper-cased words preceding a common initialism will get separated | ||||
| 	// e.g: ELBHTTPLoadBalancer becomes elb_http_load_balancer | ||||
| 	rexPrevious := regexp.MustCompile(`(?P<word>\p{Lu}{2,})(?:HTTP|OAI)`) | ||||
| 	cml = rexPrevious.ReplaceAllStringFunc(cml, func(match string) (replaceInMatch string) { | ||||
| 		for _, m := range rexPrevious.FindAllStringSubmatch(match, -1) { // [ match submatch ] | ||||
| 			if m[1] != "" { | ||||
| 				replaceInMatch = strings.Replace(m[0], m[1], Camelize(m[1]), -1) | ||||
| 			} | ||||
| 		} | ||||
| 		return | ||||
| 	}) | ||||
|  | ||||
| 	// Pre-camelize reserved keywords ("initialisms") to avoid unnecessary hyphenization | ||||
| 	for _, k := range initialisms { | ||||
| 		cml = strings.Replace(cml, k, Camelize(k), -1) | ||||
| 	} | ||||
|  | ||||
| 	// Camelize other capital words to avoid unnecessary hyphenization | ||||
| 	rexCase := regexp.MustCompile(`(\p{Lu}{2,})`) | ||||
| 	cml = rexCase.ReplaceAllStringFunc(cml, Camelize) | ||||
|  | ||||
| 	// Final split with hyphens | ||||
| 	for _, w := range split(cml) { | ||||
| 	for _, w := range split(name) { | ||||
| 		out = append(out, lower(w)) | ||||
| 	} | ||||
|  | ||||
| 	return strings.Join(out, "_") | ||||
| } | ||||
|  | ||||
| @@ -366,6 +347,13 @@ func IsZero(data interface{}) bool { | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // AddInitialisms add additional initialisms | ||||
| func AddInitialisms(words ...string) { | ||||
| 	for _, word := range words { | ||||
| 		commonInitialisms[upper(word)] = true | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // CommandLineOptionsGroup represents a group of user-defined command line options | ||||
| type CommandLineOptionsGroup struct { | ||||
| 	ShortDescription string | ||||
|   | ||||
							
								
								
									
										13
									
								
								vendor/github.com/go-openapi/swag/util_test.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/go-openapi/swag/util_test.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -29,6 +29,10 @@ type translationSample struct { | ||||
|  | ||||
| func titleize(s string) string { return strings.ToTitle(s[:1]) + lower(s[1:]) } | ||||
|  | ||||
| func init() { | ||||
| 	AddInitialisms("elb", "cap", "capwd", "wd") | ||||
| } | ||||
|  | ||||
| func TestToGoName(t *testing.T) { | ||||
| 	samples := []translationSample{ | ||||
| 		{"sample text", "SampleText"}, | ||||
| @@ -123,9 +127,9 @@ func TestToFileName(t *testing.T) { | ||||
| 	samples := []translationSample{ | ||||
| 		{"SampleText", "sample_text"}, | ||||
| 		{"FindThingByID", "find_thing_by_id"}, | ||||
| 		{"CAPWD.folwdBYlc", "capwd_folwd_bylc"}, | ||||
| 		{"CAPWDfolwdBYlc", "capwdfolwd_bylc"}, | ||||
| 		{"CAP_WD_folwdBYlc", "cap_wd_folwd_bylc"}, | ||||
| 		{"CAPWD.folwdBylc", "capwd_folwd_bylc"}, | ||||
| 		{"CAPWDfolwdBylc", "capwdfolwd_bylc"}, | ||||
| 		{"CAP_WD_folwdBylc", "cap_wd_folwd_bylc"}, | ||||
| 		{"TypeOAI_alias", "type_oai_alias"}, | ||||
| 		{"Type_OAI_alias", "type_oai_alias"}, | ||||
| 		{"Type_OAIAlias", "type_oai_alias"}, | ||||
| @@ -148,6 +152,7 @@ func TestToCommandName(t *testing.T) { | ||||
| 	samples := []translationSample{ | ||||
| 		{"SampleText", "sample-text"}, | ||||
| 		{"FindThingByID", "find-thing-by-id"}, | ||||
| 		{"elbHTTPLoadBalancer", "elb-http-load-balancer"}, | ||||
| 	} | ||||
|  | ||||
| 	for k := range commonInitialisms { | ||||
| @@ -165,6 +170,7 @@ func TestToHumanName(t *testing.T) { | ||||
| 	samples := []translationSample{ | ||||
| 		{"SampleText", "sample text"}, | ||||
| 		{"FindThingByID", "find thing by ID"}, | ||||
| 		{"elbHTTPLoadBalancer", "elb HTTP load balancer"}, | ||||
| 	} | ||||
|  | ||||
| 	for k := range commonInitialisms { | ||||
| @@ -182,6 +188,7 @@ func TestToJSONName(t *testing.T) { | ||||
| 	samples := []translationSample{ | ||||
| 		{"SampleText", "sampleText"}, | ||||
| 		{"FindThingByID", "findThingById"}, | ||||
| 		{"elbHTTPLoadBalancer", "elbHttpLoadBalancer"}, | ||||
| 	} | ||||
|  | ||||
| 	for k := range commonInitialisms { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user