diff options
author | Divy Srivastava <dj.srivastava23@gmail.com> | 2022-09-06 23:08:37 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-06 23:08:37 +0530 |
commit | d2a408f452db1157a1e6a14810bd1f03fc431d9d (patch) | |
tree | 66c45829a78cb3c6cd6e875cca65ce26384fe50d /cli/tests/unit/fetch_test.ts | |
parent | c0a684c14ed70717e18b528bb8f366eb593636a7 (diff) |
perf(runtime): short-circuit `queue_async_op` for Poll::Ready (#15773)
Diffstat (limited to 'cli/tests/unit/fetch_test.ts')
-rw-r--r-- | cli/tests/unit/fetch_test.ts | 57 |
1 files changed, 27 insertions, 30 deletions
diff --git a/cli/tests/unit/fetch_test.ts b/cli/tests/unit/fetch_test.ts index 175431e76..cbb2cd680 100644 --- a/cli/tests/unit/fetch_test.ts +++ b/cli/tests/unit/fetch_test.ts @@ -1202,47 +1202,44 @@ Deno.test({}, function fetchWritableRespProps() { assertEquals(new_.headers.get("x-deno"), "foo"); }); -function returnHostHeaderServer(addr: string): Deno.Listener { - const [hostname, port] = addr.split(":"); - const listener = Deno.listen({ - hostname, - port: Number(port), - }) as Deno.Listener; - - listener.accept().then(async (conn: Deno.Conn) => { - const httpConn = Deno.serveHttp(conn); - - await httpConn.nextRequest() - .then(async (requestEvent: Deno.RequestEvent | null) => { - const hostHeader = requestEvent?.request.headers.get("Host"); - const headersToReturn = hostHeader ? { "Host": hostHeader } : undefined; - - await requestEvent?.respondWith( - new Response("", { - status: 200, - headers: headersToReturn, - }), - ); - }); - - httpConn.close(); - }); - - return listener; -} - Deno.test( { permissions: { net: true } }, async function fetchFilterOutCustomHostHeader(): Promise< void > { const addr = "127.0.0.1:4511"; - const listener = returnHostHeaderServer(addr); + const [hostname, port] = addr.split(":"); + const listener = Deno.listen({ + hostname, + port: Number(port), + }) as Deno.Listener; + + let httpConn: Deno.HttpConn; + listener.accept().then(async (conn: Deno.Conn) => { + httpConn = Deno.serveHttp(conn); + + await httpConn.nextRequest() + .then(async (requestEvent: Deno.RequestEvent | null) => { + const hostHeader = requestEvent?.request.headers.get("Host"); + const headersToReturn = hostHeader + ? { "Host": hostHeader } + : undefined; + + await requestEvent?.respondWith( + new Response("", { + status: 200, + headers: headersToReturn, + }), + ); + }); + }); + const response = await fetch(`http://${addr}/`, { headers: { "Host": "example.com" }, }); await response.text(); listener.close(); + httpConn!.close(); assertEquals(response.headers.get("Host"), addr); }, |