mirror of
https://github.com/denoland/deno.git
synced 2025-03-03 09:31:22 -05:00
refactor(std/http/server): Remove bad error handling (#4435)
This commit is contained in:
parent
1c6f177d19
commit
b22f48970f
1 changed files with 2 additions and 22 deletions
|
@ -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();
|
||||
|
|
Loading…
Add table
Reference in a new issue