summaryrefslogtreecommitdiff
path: root/ext/node/polyfills
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/polyfills')
-rw-r--r--ext/node/polyfills/http.ts28
1 files changed, 26 insertions, 2 deletions
diff --git a/ext/node/polyfills/http.ts b/ext/node/polyfills/http.ts
index 32e69772d..c6c112a50 100644
--- a/ext/node/polyfills/http.ts
+++ b/ext/node/polyfills/http.ts
@@ -1775,8 +1775,12 @@ export class ServerImpl extends EventEmitter {
}
if (listening && this.#ac) {
- this.#ac.abort();
- this.#ac = undefined;
+ if (this.#server) {
+ this.#server.shutdown();
+ } else if (this.#ac) {
+ this.#ac.abort();
+ this.#ac = undefined;
+ }
} else {
this.#serveDeferred!.resolve();
}
@@ -1785,6 +1789,26 @@ export class ServerImpl extends EventEmitter {
return this;
}
+ closeAllConnections() {
+ if (this.#hasClosed) {
+ return;
+ }
+ if (this.#ac) {
+ this.#ac.abort();
+ this.#ac = undefined;
+ }
+ }
+
+ closeIdleConnections() {
+ if (this.#hasClosed) {
+ return;
+ }
+
+ if (this.#server) {
+ this.#server.shutdown();
+ }
+ }
+
address() {
return {
port: this.#addr.port,