handle RateLimiter initialization errors (#8199)
Previously, an error occuring in NewRateLimiter would return a nil reference – which would be de-referenced just after, making the server crash.
Этот коммит содержится в:
коммит произвёл
Chris
родитель
323d717a40
Коммит
034dbc07e3
@@ -124,9 +124,14 @@ func (a *App) StartServer() {
|
||||
if *a.Config().RateLimitSettings.Enable {
|
||||
l4g.Info(utils.T("api.server.start_server.rate.info"))
|
||||
|
||||
a.Srv.RateLimiter = NewRateLimiter(&a.Config().RateLimitSettings)
|
||||
rateLimiter, err := NewRateLimiter(&a.Config().RateLimitSettings)
|
||||
if err != nil {
|
||||
l4g.Critical(err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
handler = a.Srv.RateLimiter.RateLimitHandler(handler)
|
||||
a.Srv.RateLimiter = rateLimiter
|
||||
handler = rateLimiter.RateLimitHandler(handler)
|
||||
}
|
||||
|
||||
a.Srv.Server = &http.Server{
|
||||
|
||||
Ссылка в новой задаче
Block a user