1
0
mirror of https://github.com/containous/traefik.git synced 2025-09-22 13:44:25 +03:00

feat: rate-limit ceil Retry-After to superior integer

This commit is contained in:
Pierre-Yves Aillet
2021-11-16 16:38:11 +01:00
committed by GitHub
parent 83a7f10c75
commit 95fabeae73

View File

@@ -4,6 +4,7 @@ package ratelimiter
import (
"context"
"fmt"
"math"
"net/http"
"time"
@@ -174,7 +175,7 @@ func (rl *rateLimiter) ServeHTTP(w http.ResponseWriter, r *http.Request) {
}
func (rl *rateLimiter) serveDelayError(ctx context.Context, w http.ResponseWriter, r *http.Request, delay time.Duration) {
w.Header().Set("Retry-After", fmt.Sprintf("%.0f", delay.Seconds()))
w.Header().Set("Retry-After", fmt.Sprintf("%.0f", math.Ceil(delay.Seconds())))
w.Header().Set("X-Retry-In", delay.String())
w.WriteHeader(http.StatusTooManyRequests)