Use localhost in MOTD URL rather than localhost and wildcard IPs. Omit port number if standard.
This commit is contained in:
parent
47215d4635
commit
0489dd9aaf
|
@ -657,10 +657,9 @@ class StartupMixin(metaclass=SanicMeta):
|
||||||
def get_server_location(
|
def get_server_location(
|
||||||
server_settings: Optional[Dict[str, Any]] = None
|
server_settings: Optional[Dict[str, Any]] = None
|
||||||
) -> str:
|
) -> str:
|
||||||
serve_location = ""
|
|
||||||
proto = "http"
|
proto = "http"
|
||||||
if not server_settings:
|
if not server_settings:
|
||||||
return serve_location
|
return ""
|
||||||
|
|
||||||
host = server_settings["host"]
|
host = server_settings["host"]
|
||||||
port = server_settings["port"]
|
port = server_settings["port"]
|
||||||
|
@ -668,16 +667,33 @@ class StartupMixin(metaclass=SanicMeta):
|
||||||
if server_settings.get("ssl") is not None:
|
if server_settings.get("ssl") is not None:
|
||||||
proto = "https"
|
proto = "https"
|
||||||
if server_settings.get("unix"):
|
if server_settings.get("unix"):
|
||||||
serve_location = f'{server_settings["unix"]} {proto}://...'
|
return f'{server_settings["unix"]} {proto}://localhost'
|
||||||
elif server_settings.get("sock"):
|
if server_settings.get("sock"):
|
||||||
host, port, *_ = server_settings["sock"].getsockname()
|
host, port, *_ = server_settings["sock"].getsockname()
|
||||||
|
if not host or not port:
|
||||||
|
return ""
|
||||||
|
|
||||||
if not serve_location and host and port:
|
# colon(:) is legal for a host only in an ipv6 address
|
||||||
# colon(:) is legal for a host only in an ipv6 address
|
url_host = f"[{host}]" if ":" in host else host
|
||||||
display_host = f"[{host}]" if ":" in host else host
|
url_port = (
|
||||||
serve_location = f"{proto}://{display_host}:{port}"
|
""
|
||||||
|
if (
|
||||||
|
(proto == "https" and port == 443)
|
||||||
|
or (proto == "http" and port == 80)
|
||||||
|
)
|
||||||
|
else f":{port}"
|
||||||
|
)
|
||||||
|
|
||||||
return serve_location
|
special = {
|
||||||
|
"127.0.0.1": "IPv4",
|
||||||
|
"0.0.0.0": "IPv4 wildcard",
|
||||||
|
"::1": "IPv6",
|
||||||
|
"::": "IPv6 wildcard",
|
||||||
|
}.get(host, "")
|
||||||
|
if special:
|
||||||
|
return f"({special}) {proto}://localhost{url_port}"
|
||||||
|
|
||||||
|
return f"{proto}://{url_host}{url_port}"
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_address(
|
def get_address(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user