diff options
author | Marcos Casagrande <marcoscvp90@gmail.com> | 2020-06-08 17:58:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-08 17:58:52 +0200 |
commit | 2c990414bf51459869090d3b802086bbd19b3f68 (patch) | |
tree | 053b45009feebf5774bae9ffabcd109bdbb1b1f2 /std/http/server.ts | |
parent | f247423f206ea5c3ca07254413a1ff11709a2ada (diff) |
fix(std/http): Prevent crash on UnexpectedEof and InvalidData (#6155)
Diffstat (limited to 'std/http/server.ts')
-rw-r--r-- | std/http/server.ts | 8 |
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; } |