diff options
author | Evan Bertrand <67847790+3bert@users.noreply.github.com> | 2020-07-09 03:37:50 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-09 03:37:50 -0400 |
commit | e92cf5b9e8530f7edf5cb7b157e6334a013da10d (patch) | |
tree | 59590bec3b3d4eb5056eb467a7c5b56e58a2f421 | |
parent | be7e0f2d490ca480aaa154845c4c5c6dccbd7546 (diff) |
fix(std/http): properly return port 80 in _parseAddrFromStr (#6635)
-rw-r--r-- | std/http/server.ts | 5 | ||||
-rw-r--r-- | 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 82e5f8169..cc0c7cca3 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 5a4a48932..0bfadc632 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); + }, +}); |