Skip to content

Commit ee4fe1f

Browse files
authored
Update template.go
1 parent 6148bcd commit ee4fe1f

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

internal/ingress/controller/template/template.go

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -877,14 +877,38 @@ func buildRateLimit(input interface{}) []string {
877877
}
878878

879879
if loc.RateLimit.RPS.Limit > 0 {
880-
limit := fmt.Sprintf("limit_req zone=%v burst=%v nodelay;",
881-
loc.RateLimit.RPS.Name, loc.RateLimit.RPS.Burst)
880+
limit := fmt.Sprintf("limit_req zone=%v", loc.RateLimit.RPS.Name)
881+
882+
if loc.RateLimit.RPS.Burst == 0 {
883+
limit = fmt.Sprintf("%v", limit)
884+
} else {
885+
limit = fmt.Sprintf("%v burst=%v", limit, loc.RateLimit.RPS.Burst)
886+
}
887+
888+
if loc.RateLimit.RPS.Delay < 0 {
889+
limit = fmt.Sprintf("%v nodelay;", limit)
890+
} else {
891+
limit = fmt.Sprintf("%v delay=%v;", limit, loc.RateLimit.RPS.Delay)
892+
}
893+
882894
limits = append(limits, limit)
883895
}
884896

885897
if loc.RateLimit.RPM.Limit > 0 {
886-
limit := fmt.Sprintf("limit_req zone=%v burst=%v nodelay;",
887-
loc.RateLimit.RPM.Name, loc.RateLimit.RPM.Burst)
898+
limit := fmt.Sprintf("limit_req zone=%v", loc.RateLimit.RPM.Name)
899+
900+
if loc.RateLimit.RPM.Burst == 0 {
901+
limit = fmt.Sprintf("%v", limit)
902+
} else {
903+
limit = fmt.Sprintf("%v burst=%v", limit, loc.RateLimit.RPM.Burst)
904+
}
905+
906+
if loc.RateLimit.RPM.Delay < 0 {
907+
limit = fmt.Sprintf("%v nodelay;", limit)
908+
} else {
909+
limit = fmt.Sprintf("%v delay=%v;", limit, loc.RateLimit.RPM.Delay)
910+
}
911+
888912
limits = append(limits, limit)
889913
}
890914

0 commit comments

Comments
 (0)