summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNayeem Rahman <muhammed.9939@gmail.com>2020-03-20 16:12:27 +0000
committerGitHub <noreply@github.com>2020-03-20 12:12:27 -0400
commitb22f48970fc18c4e5fd72df15ac798477fbe49cb (patch)
tree0d94038d92256e32f55c9b08f3f9423c92fef0db
parent1c6f177d198cb4abe7a126dc543b733fa95376d1 (diff)
refactor(std/http/server): Remove bad error handling (#4435)
-rw-r--r--std/http/server.ts24
1 files changed, 2 insertions, 22 deletions
diff --git a/std/http/server.ts b/std/http/server.ts
index 72bd1e5f3..2cd51b005 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<ServerRequest> {
): AsyncIterableIterator<ServerRequest> {
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<ServerRequest> {
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<ServerRequest> {
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();