We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
It shows in go-zero/rest/handler/maxconnshandler.go that when reaching a rate limit, an http.StatusServiceUnavailable will be wrote to the client.
http.StatusServiceUnavailable
package handler import ( "net/http" "github.com/zeromicro/go-zero/core/logx" "github.com/zeromicro/go-zero/core/syncx" "github.com/zeromicro/go-zero/rest/internal" ) // MaxConnsHandler returns a middleware that limit the concurrent connections. func MaxConnsHandler(n int) func(http.Handler) http.Handler { if n <= 0 { return func(next http.Handler) http.Handler { return next } } return func(next http.Handler) http.Handler { latch := syncx.NewLimit(n) return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if latch.TryBorrow() { defer func() { if err := latch.Return(); err != nil { logx.WithContext(r.Context()).Error(err) } }() next.ServeHTTP(w, r) } else { internal.Errorf(r, "concurrent connections over %d, rejected with code %d", n, http.StatusServiceUnavailable) w.WriteHeader(http.StatusServiceUnavailable) } }) } }
While there is an HTTP status code 429(Too Many Requests) which is more suitable. Why not use 429 instead of 503?
The text was updated successfully, but these errors were encountered:
No branches or pull requests
It shows in go-zero/rest/handler/maxconnshandler.go that when reaching a rate limit, an
http.StatusServiceUnavailable
will be wrote to the client.While there is an HTTP status code 429(Too Many Requests) which is more suitable. Why not use 429 instead of 503?
The text was updated successfully, but these errors were encountered: