Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: add note about clientError writable handling #33308

Closed
wants to merge 3 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions doc/api/http.md
Original file line number Diff line number Diff line change
Expand Up @@ -1041,6 +1041,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
ShogunPanda marked this conversation as resolved.
Show resolved Hide resolved
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' || !this.writable) {
ShogunPanda marked this conversation as resolved.
Show resolved Hide resolved
return;
}

socket.end('HTTP/1.1 400 Bad Request\r\n\r\n');
});
```

### Event: `'close'`
<!-- YAML
added: v0.1.4
Expand Down