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:
|
if unix:
|
||||||
logger.info(f"Goin' Fast @ {unix} {proto}://...")
|
logger.info(f"Goin' Fast @ {unix} {proto}://...")
|
||||||
else:
|
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"
|
debug_mode = "enabled" if self.debug else "disabled"
|
||||||
reload_mode = "enabled" if auto_reload 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"
|
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(
|
@pytest.mark.parametrize(
|
||||||
"num,cmd",
|
"num,cmd",
|
||||||
(
|
(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user