summaryrefslogtreecommitdiff
path: root/std/http/server.ts
diff options
context:
space:
mode:
authorMarcos Casagrande <marcoscvp90@gmail.com>2020-06-08 17:58:52 +0200
committerGitHub <noreply@github.com>2020-06-08 17:58:52 +0200
commit2c990414bf51459869090d3b802086bbd19b3f68 (patch)
tree053b45009feebf5774bae9ffabcd109bdbb1b1f2 /std/http/server.ts
parentf247423f206ea5c3ca07254413a1ff11709a2ada (diff)
fix(std/http): Prevent crash on UnexpectedEof and InvalidData (#6155)
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;
}