summaryrefslogtreecommitdiff
path: root/std/http/server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/http/server.ts')
-rw-r--r--std/http/server.ts8
1 files changed, 6 insertions, 2 deletions
diff --git a/std/http/server.ts b/std/http/server.ts
index 3cc95a9e4..18bfc4731 100644
--- a/std/http/server.ts
+++ b/std/http/server.ts
@@ -211,8 +211,12 @@ export class Server implements AsyncIterable<ServerRequest> {
try {
conn = await this.listener.accept();
} catch (error) {
- if (error instanceof Deno.errors.BadResource) {
- return;
+ if (
+ error instanceof Deno.errors.BadResource ||
+ error instanceof Deno.errors.InvalidData ||
+ error instanceof Deno.errors.UnexpectedEof
+ ) {
+ return mux.add(this.acceptConnAndIterateHttpRequests(mux));
}
throw error;
}