From b22f48970fc18c4e5fd72df15ac798477fbe49cb Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Fri, 20 Mar 2020 16:12:27 +0000 Subject: [PATCH] refactor(std/http/server): Remove bad error handling (#4435) --- std/http/server.ts | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/std/http/server.ts b/std/http/server.ts index 72bd1e5f3f..2cd51b0051 100644 --- a/std/http/server.ts +++ b/std/http/server.ts @@ -9,7 +9,6 @@ import { writeResponse, readRequest } from "./io.ts"; -import { encode } from "../strings/mod.ts"; import Listener = Deno.Listener; import Conn = Deno.Conn; import Reader = Deno.Reader; @@ -149,7 +148,7 @@ export class Server implements AsyncIterable { ): AsyncIterableIterator { const bufr = new BufReader(conn); const w = new BufWriter(conn); - let req: ServerRequest | Deno.EOF | undefined; + let req: ServerRequest | Deno.EOF = Deno.EOF; let err: Error | undefined; while (!this.closing) { @@ -157,9 +156,8 @@ export class Server implements AsyncIterable { req = await readRequest(conn, bufr); } catch (e) { err = e; - break; } - if (req === Deno.EOF) { + if (err != null || req === Deno.EOF) { break; } @@ -180,24 +178,6 @@ export class Server implements AsyncIterable { await req.finalize(); } - if (req === Deno.EOF) { - // The connection was gracefully closed. - } else if (err && req) { - // An error was thrown while parsing request headers. - try { - await writeResponse(req.w, { - status: 400, - body: encode(`${err.message}\r\n\r\n`) - }); - } catch (_) { - // The connection is destroyed. - // Ignores the error. - } - } else if (this.closing) { - // There are more requests incoming but the server is closing. - // TODO(ry): send a back a HTTP 503 Service Unavailable status. - } - this.untrackConnection(conn); try { conn.close();