|
1 | 1 | package configs |
2 | 2 |
|
3 | 3 | import ( |
4 | | - "errors" |
5 | 4 | "fmt" |
6 | | - "regexp" |
7 | 5 | "strconv" |
8 | 6 | "strings" |
9 | 7 |
|
@@ -102,7 +100,7 @@ func parseAnnotations(ingEx *IngressEx, baseCfgParams *ConfigParams, isPlus bool |
102 | 100 | } |
103 | 101 |
|
104 | 102 | if slowStart, exists := ingEx.Ingress.Annotations["nginx.com/slow-start"]; exists { |
105 | | - if parsedSlowStart, err := parseSlowStart(slowStart); err != nil { |
| 103 | + if parsedSlowStart, err := ParseTime(slowStart); err != nil { |
106 | 104 | glog.Errorf("Ingress %s/%s: Invalid value nginx.org/slow-start: got %q: %v", ingEx.Ingress.GetNamespace(), ingEx.Ingress.GetName(), slowStart, err) |
107 | 105 | } else { |
108 | 106 | if isPlus { |
@@ -426,31 +424,6 @@ func mergeMasterAnnotationsIntoMinion(minionAnnotations map[string]string, maste |
426 | 424 | } |
427 | 425 | } |
428 | 426 |
|
429 | | -// http://nginx.org/en/docs/syntax.html |
430 | | -var validTimeSuffixes = []string{ |
431 | | - "ms", |
432 | | - "s", |
433 | | - "m", |
434 | | - "h", |
435 | | - "d", |
436 | | - "w", |
437 | | - "M", |
438 | | - "y", |
439 | | -} |
440 | | - |
441 | | -var durationEscaped = strings.Join(validTimeSuffixes, "|") |
442 | | -var validNginxTime = regexp.MustCompile(`^([0-9]+([` + durationEscaped + `]?){0,1} *)+$`) |
443 | | - |
444 | | -// parseSlowStart ensures that the slow_start value in the annotation is valid. |
445 | | -func parseSlowStart(s string) (string, error) { |
446 | | - s = strings.TrimSpace(s) |
447 | | - |
448 | | - if validNginxTime.MatchString(s) { |
449 | | - return s, nil |
450 | | - } |
451 | | - return "", errors.New("Invalid time string") |
452 | | -} |
453 | | - |
454 | 427 | func parsePort(value string) (int, error) { |
455 | 428 | port, err := strconv.ParseInt(value, 10, 16) |
456 | 429 | if err != nil { |
@@ -504,4 +477,3 @@ func parseRewrites(service string) (serviceName string, rewrite string, err erro |
504 | 477 |
|
505 | 478 | return svcNameParts[1], rwPathParts[1], nil |
506 | 479 | } |
507 | | - |
0 commit comments