This docs on this page refers to a PREVIOUS VERSION. For the latest stable release, go to https://docs.bokeh.org/

Archived docs for versions <= 1.0.4 have had to be modified from their original published configuration, and may be missing some features (e.g. source listing)

All users are encourage to update to version 1.1 or later, as soon as they are able.

bokeh.server.util — Bokeh 1.0.2 documentation

bokeh.server.util

Provide some utility functions useful for implementing different components in bokeh.server.

bind_sockets(address, port)[source]

Bind a socket to a port on an address.

Parameters:
  • address (str) – An address to bind a port on, e.g. "localhost"
  • port (int) –

    A port number to bind.

    Pass 0 to have the OS automatically choose a free port.

This function returns a 2-tuple with the new socket as the first element, and the port that was bound as the second. (Useful when passing 0 as a port number to bind any free port.)

Returns:(socket, port)
check_whitelist(host, whitelist)[source]

Check a given request host against a whitelist.

Parameters:
  • host (str) –

    A host string to compare against a whitelist.

    If the host does not specify a port, then ":80" is implicitly assumed.

  • whitelist (seq[str]) – A list of host patterns to match against
Returns:

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

create_hosts_whitelist(host_list, port)[source]

This whitelist can be used to restrict websocket or other connections to only those explicitly originating from approved hosts.

Parameters:
  • host_list (seq[str]) –

    A list of string <name> or <name>:<port> values to add to the whitelist.

    If no port is specified in a host string, then ":80" is implicitly assumed.

  • port (int) –

    If host_list is empty or None, then the whitelist will be the single item list `` [ ‘localhost:<port>’ ]``

    If host_list is not empty, this parameter has no effect.

Returns:

list[str]

Raises:

ValueError, if host or port values are invalid

Note

If any host in host_list contains a wildcard * a warning will be logged regarding permissive websocket connections.

match_host(host, pattern)[source]

Match a host string against a pattern

Parameters:
  • host (str) – A hostname to compare to the given pattern
  • pattern (str) – A string representing a hostname pattern, possibly including wildcards for ip address octets or ports.

This function will return True if the hostname matches the pattern, including any wildcards. If the pattern contains a port, the host string must also contain a matching port.

Returns:bool

Examples

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