Documentation ¶
Overview ¶
Package connlimit provides control over simultaneous connections coming from the same source
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConnErrHandler ¶
type ConnErrHandler struct {
// contains filtered or unexported fields
}
ConnErrHandler connection limiter error handler.
func (*ConnErrHandler) ServeHTTP ¶
func (e *ConnErrHandler) ServeHTTP(w http.ResponseWriter, req *http.Request, err error)
type ConnLimiter ¶
type ConnLimiter struct {
// contains filtered or unexported fields
}
ConnLimiter tracks concurrent connection per token and is capable of rejecting connections if they are failed.
func New ¶
func New(next http.Handler, extract utils.SourceExtractor, maxConnections int64, options ...Option) (*ConnLimiter, error)
New creates a new ConnLimiter.
func (*ConnLimiter) ServeHTTP ¶
func (cl *ConnLimiter) ServeHTTP(w http.ResponseWriter, r *http.Request)
func (*ConnLimiter) Wrap ¶
func (cl *ConnLimiter) Wrap(h http.Handler)
Wrap sets the next handler to be called by connection limiter handler.
type MaxConnError ¶
type MaxConnError struct {
// contains filtered or unexported fields
}
MaxConnError maximum connections reached error.
func (*MaxConnError) Error ¶
func (m *MaxConnError) Error() string
type Option ¶
type Option func(l *ConnLimiter) error
Option represents an option you can pass to New.
func ErrorHandler ¶
func ErrorHandler(h utils.ErrorHandler) Option
ErrorHandler sets error handler of the server.
Click to show internal directories.
Click to hide internal directories.