Adding error message on connection limit met

This commit is contained in:
Frederick F. Kautz IV 2015-04-29 17:21:23 -07:00
parent 8d1d309630
commit f596c744ed
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