diff --git a/doc/api/http.md b/doc/api/http.md index b315f0005f3b6a..fd1d616050dfbb 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -1037,6 +1037,21 @@ ensure the response is a properly formatted HTTP response message. correctly; * `rawPacket`: the raw packet of current request. +In some cases, the client has already received the response and/or the socket +has already been destroyed, like in case of `ECONNRESET` errors. Before +trying to send data to the socket, it is better to check that it is still +writable. + +```js +server.on('clientError', (err, socket) => { + if (err.code === 'ECONNRESET' || !socket.writable) { + return; + } + + socket.end('HTTP/1.1 400 Bad Request\r\n\r\n'); +}); +``` + ### Event: `'close'`