bokeh.server.util#
提供一些实用函数,用于实现 bokeh.server
中的不同组件。
- bind_sockets(address: str | None, port: int) tuple[list[socket], int] [source]#
将套接字绑定到地址上的端口。
此函数返回一个 2 元组,其中新套接字作为第一个元素,绑定的端口作为第二个元素。(当将 0 作为端口号传递以绑定任何空闲端口时很有用。)
- 返回值:
(套接字, 端口)
- create_hosts_allowlist(host_list: Sequence[str] | None, port: int | None) list[str] [source]#
此允许列表可用于将 websocket 或其他连接限制为仅那些明确源自已批准主机的连接。
- 参数:
- 返回值:
list[str]
- 引发:
ValueError,如果主机或端口值无效 –
注意
如果
host_list
中的任何主机包含通配符*
,则会记录有关宽松 websocket 连接的警告。
- match_host(host: str, pattern: str) bool [source]#
将主机字符串与模式匹配
如果主机名与模式匹配(包括任何通配符),则此函数将返回
True
。如果模式包含端口,则主机字符串也必须包含匹配的端口。- 返回值:
bool
示例
>>> match_host('192.168.0.1:80', '192.168.0.1:80') True >>> match_host('192.168.0.1:80', '192.168.0.1') True >>> match_host('192.168.0.1:80', '192.168.0.1:8080') False >>> match_host('192.168.0.1', '192.168.0.2') False >>> match_host('192.168.0.1', '192.168.*.*') True >>> match_host('alice', 'alice') True >>> match_host('alice:80', 'alice') True >>> match_host('alice', 'bob') False >>> match_host('foo.example.com', 'foo.example.com.net') False >>> match_host('alice', '*') True >>> match_host('alice', '*:*') True >>> match_host('alice:80', '*') True >>> match_host('alice:80', '*:80') True >>> match_host('alice:8080', '*:80') False