bokeh.server.util

異なるコンポーネントを実現するためのいくつかのユーティリティ関数を提供する bokeh.server それがそうです。

bind_sockets(address, port)[ソース]

ソケットをアドレス上のポートにバインドする.

パラメータ
  • address (str) -- バインドポートのアドレス、例えば "localhost"

  • port (int) -- バインドすべきポート番号。転送0は、オペレーティングシステムがアイドルポートを自動的に選択することができます。

この関数は、新しいソケットが第1の要素として、結合されたポートが第2の要素として使用される二値セットを返す。(任意の空きポートをバインドするためにポート番号として0を渡す際に非常に有用である。)

戻り値

(スロット、ポート)

check_allowlist(host, allowlist)[ソース]

許可リストに基づいて所与の要求ホストをチェックする.

パラメータ
  • host (str) -- 許可リストと比較するホスト文字列.ホストがポートを指定していない場合 ":80" 暗黙的な仮説です

  • allowlist (seq[str]) -- 一致するホストパターンリスト

戻り値

True, if host matches any pattern in allowlist, otherwise False

create_hosts_allowlist(host_list, port)[ソース]

この許可リストは、WebSocketまたは他の接続を、許可されたホストからの接続のみに明示的に制限するために使用することができる。

パラメータ
  • host_list (seq[str]) -- 文字列リスト <name> あるいは…。 <name>:<port> 許容リストの値に追加します。ホスト文字列にポートが指定されていない場合 ":80" 暗黙的な仮説です

  • port (int) -- もし host_list 空にするか None 許可リストは、単一のアイテムリストになります。 `` [ 'localhost:<port>' ]`` もし host_list 空でなければ,このパラメータは無効である.

戻り値

明細書. [str]

例外

ValueError, if host or port values are invalid --

注釈

もしホストがいたら host_list 包含ワイルドカード * 許可されたWebSocket接続に関する警告を記録する.

match_host(host, pattern)[ソース]

ホスト文字列とパターンのマッチング

パラメータ
  • host (str) -- 与えられたパターンと比較するホスト名

  • pattern (str) -- ホスト名パターンを表す文字列は、IPアドレス8バイトまたはポートのワイルドカードを含むことができる。

この関数は戻ります True ホスト名がパターンに一致する場合、任意のワイルドカードを含む。パターンがポートを含む場合、ホスト文字列も一致するポートを含む必要がある。

戻り値

ブール.

サンプル

>>> 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