From e92cf5b9e8530f7edf5cb7b157e6334a013da10d Mon Sep 17 00:00:00 2001 From: Evan Bertrand <67847790+3bert@users.noreply.github.com> Date: Thu, 9 Jul 2020 03:37:50 -0400 Subject: [PATCH] fix(std/http): properly return port 80 in _parseAddrFromStr (#6635) --- std/http/server.ts | 5 ++++- std/http/server_test.ts | 16 ++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/std/http/server.ts b/std/http/server.ts index 82e5f816..cc0c7cca 100644 --- a/std/http/server.ts +++ b/std/http/server.ts @@ -262,7 +262,10 @@ export function _parseAddrFromStr(addr: string): HTTPOptions { throw new TypeError("Invalid address."); } - return { hostname: url.hostname, port: Number(url.port) }; + return { + hostname: url.hostname, + port: url.port === "" ? 80 : Number(url.port), + }; } /** diff --git a/std/http/server_test.ts b/std/http/server_test.ts index 5a4a4893..0bfadc63 100644 --- a/std/http/server_test.ts +++ b/std/http/server_test.ts @@ -629,20 +629,20 @@ Deno.test({ port: 8124, transport: "tcp", }; - assertEquals(expected, server.listener.addr); + assertEquals(server.listener.addr, expected); server.close(); }, }); Deno.test({ - name: "server.parseAddrFromStr() should be able to parse IPV6 address", + name: "server._parseAddrFromStr() should be able to parse IPV6 address", fn: (): void => { const addr = _parseAddrFromStr("[::1]:8124"); const expected = { hostname: "[::1]", port: 8124, }; - assertEquals(expected, addr); + assertEquals(addr, expected); }, }); @@ -655,7 +655,15 @@ Deno.test({ port: 8124, transport: "tcp", }; - assertEquals(expected, server.listener.addr); + assertEquals(server.listener.addr, expected); server.close(); }, }); + +Deno.test({ + name: "server._parseAddrFromStr() port 80", + fn: (): void => { + const addr = _parseAddrFromStr(":80"); + assertEquals(addr.port, 80); + }, +}); -- GitLab