From 5adb5e70895aee976dc4928308214cfaec219761 Mon Sep 17 00:00:00 2001 From: theanarkh Date: Wed, 13 Jul 2022 02:33:26 +0800 Subject: [PATCH] http: add drop request event for http server --- doc/api/http.md | 14 +++++ lib/_http_server.js | 2 +- .../test-http-keep-alive-drop-requests.js | 34 ++++++++++++ .../test-https-keep-alive-drop-requests.js | 54 +++++++++++++++++++ 4 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 test/parallel/test-http-keep-alive-drop-requests.js create mode 100644 test/parallel/test-https-keep-alive-drop-requests.js diff --git a/doc/api/http.md b/doc/api/http.md index 0c9117202498a8..c8c7683d5ff510 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -1406,6 +1406,20 @@ This event is guaranteed to be passed an instance of the {net.Socket} class, a subclass of {stream.Duplex}, unless the user specifies a socket type other than {net.Socket}. +### Event: `'dropRequest'` + + + +* `request` {http.IncomingMessage} Arguments for the HTTP request, as it is in + the [`'request'`][] event +* `socket` {stream.Duplex} Network socket between the server and client + +When the number of requests on a socket reaches the threshold of +`server.maxRequestsPerSocket`, the server will drop new requests +and emit `'dropRequest'` event instead, then send `503` to client. + ### Event: `'request'`