Merge pull request #541 from fkautz/pr_out_adding_error_message_on_connection_limit_met

This commit is contained in:
Harshavardhana 2015-04-29 17:24:04 -07:00
commit 8be3b92ab7
2 changed files with 8 additions and 0 deletions

View file

@ -61,6 +61,8 @@ func (c *connLimit) ServeHTTP(w http.ResponseWriter, req *http.Request) {
if c.TestAndAdd(longIP) {
defer c.Remove(longIP)
c.handler.ServeHTTP(w, req)
} else {
writeErrorResponse(w, req, ConnectionLimitExceeded, req.RequestURI)
}
}

View file

@ -47,6 +47,7 @@ const (
BandWidthQuotaExceeded
BandWidthInsufficientToProceed
SlowDown
ConnectionLimitExceeded
)
// Golang http doesn't implement these
@ -89,6 +90,11 @@ var errorCodeResponse = map[int]Error{
Description: "Reduce your request rate.",
HTTPStatusCode: StatusTooManyRequests,
},
ConnectionLimitExceeded: {
Code: "ConnectionLimit",
Description: "Connection Limit Met",
HTTPStatusCode: StatusTooManyRequests,
},
}
// Write error response headers