fix ipv6 display in startup info log (#2285)
* fix ipv6 display in startup info log * refactored to oneliner by request * Added test for passing ipv4 host * Added test for passing ipv6 any host * Added test for passing ipv6 loopback host
This commit is contained in:
parent
57e98b62b3
commit
5e1ef96934
|
@ -1337,7 +1337,9 @@ class Sanic(BaseSanic, metaclass=TouchUpMeta):
|
|||
if unix:
|
||||
logger.info(f"Goin' Fast @ {unix} {proto}://...")
|
||||
else:
|
||||
logger.info(f"Goin' Fast @ {proto}://{host}:{port}")
|
||||
# colon(:) is legal for a host only in an ipv6 address
|
||||
display_host = f"[{host}]" if ":" in host else host
|
||||
logger.info(f"Goin' Fast @ {proto}://{display_host}:{port}")
|
||||
|
||||
debug_mode = "enabled" if self.debug else "disabled"
|
||||
reload_mode = "enabled" if auto_reload else "disabled"
|
||||
|
|
|
@ -62,6 +62,57 @@ def test_host_port(cmd):
|
|||
assert firstline == b"Goin' Fast @ http://localhost:9999"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"cmd",
|
||||
(
|
||||
("--host=127.0.0.127", "--port=9999"),
|
||||
("-H", "127.0.0.127", "-p", "9999"),
|
||||
),
|
||||
)
|
||||
def test_host_port(cmd):
|
||||
command = ["sanic", "fake.server.app", *cmd]
|
||||
out, err, exitcode = capture(command)
|
||||
lines = out.split(b"\n")
|
||||
firstline = lines[6]
|
||||
|
||||
assert exitcode != 1
|
||||
assert firstline == b"Goin' Fast @ http://127.0.0.127:9999"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"cmd",
|
||||
(
|
||||
("--host=::", "--port=9999"),
|
||||
("-H", "::", "-p", "9999"),
|
||||
),
|
||||
)
|
||||
def test_host_port(cmd):
|
||||
command = ["sanic", "fake.server.app", *cmd]
|
||||
out, err, exitcode = capture(command)
|
||||
lines = out.split(b"\n")
|
||||
firstline = lines[6]
|
||||
|
||||
assert exitcode != 1
|
||||
assert firstline == b"Goin' Fast @ http://[::]:9999"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"cmd",
|
||||
(
|
||||
("--host=::1", "--port=9999"),
|
||||
("-H", "::1", "-p", "9999"),
|
||||
),
|
||||
)
|
||||
def test_host_port(cmd):
|
||||
command = ["sanic", "fake.server.app", *cmd]
|
||||
out, err, exitcode = capture(command)
|
||||
lines = out.split(b"\n")
|
||||
firstline = lines[6]
|
||||
|
||||
assert exitcode != 1
|
||||
assert firstline == b"Goin' Fast @ http://[::1]:9999"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"num,cmd",
|
||||
(
|
||||
|
|
Loading…
Reference in New Issue
Block a user