bokeh.server.util#
提供一些实用函数,用于实现在 bokeh.server
中的不同组件。
- bind_sockets(address: str | None, port: int) tuple[list[socket], int] [源代码]#
将套接字绑定到地址上的端口。
此函数返回一个 2 元组,其中新套接字作为第一个元素,绑定的端口作为第二个元素。(当传递 0 作为端口号以绑定任何空闲端口时很有用。)
- 返回值:
(socket, port)
- create_hosts_allowlist(host_list: Sequence[str] | None, port: int | None) list[str] [源代码]#
此允许列表可用于限制 WebSocket 或其他连接仅限于那些明确来自批准的主机的连接。
- 参数:
- 返回值:
list[str]
- 引发:
ValueError, 如果主机 或 端口值无效 –
注意
如果
host_list
中的任何主机包含通配符*
,则会记录一条关于允许 WebSocket 连接的警告。
- match_host(host: str, pattern: str) bool [源代码]#
将主机字符串与模式进行匹配
如果主机名与模式(包括任何通配符)匹配,则此函数将返回
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