Set the response code to 499 when a client disconnects during an upload
The response code isn't actually sent to the client, because the connection has already closed by this point. But it causes the status code to appear as 499 in the logs instead of 0. Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
This commit is contained in:
parent
b0d133045d
commit
b51913f619
1 changed files with 6 additions and 0 deletions
|
@ -40,6 +40,12 @@ func copyFullPayload(responseWriter http.ResponseWriter, r *http.Request, destWr
|
||||||
// error to keep the logs cleaner.
|
// error to keep the logs cleaner.
|
||||||
select {
|
select {
|
||||||
case <-clientClosed:
|
case <-clientClosed:
|
||||||
|
// Set the response code to "499 Client Closed Request"
|
||||||
|
// Even though the connection has already been closed,
|
||||||
|
// this causes the logger to pick up a 499 error
|
||||||
|
// instead of showing 0 for the HTTP status.
|
||||||
|
responseWriter.WriteHeader(499)
|
||||||
|
|
||||||
ctxu.GetLogger(context).Error("client disconnected during " + action)
|
ctxu.GetLogger(context).Error("client disconnected during " + action)
|
||||||
return errors.New("client disconnected")
|
return errors.New("client disconnected")
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue