bokeh.server.views#

auth_request_handler#

提供一个混合类,为请求处理程序添加授权钩子。

class AuthRequestHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)[source]#

此混合类添加了预期的 Tornado 授权钩子

  • get_login_url

  • get_current_user

  • prepare

所有这些都委托给在 Bokeh tornado 应用程序上配置的 AuthProvider

get_current_user()[source]#

委托给授权提供者的同步 get_user 方法

get_login_url()[source]#

委托给授权提供者的 `get_login_url` 方法,或 `login_url` 属性。

async prepare()[source]#

`get_current_user` 的异步对应方法

autoload_js_handler#

提供一个请求处理程序,该处理程序返回一个显示文档的页面。

class AutoloadJsHandler(tornado_app: BokehTornado, *args, **kw)[source]#

为自动加载 JS 块实现自定义 Tornado 处理程序

async options(*args, **kwargs)[source]#

浏览器在 GET 请求之前在后台进行 OPTIONS 请求

set_default_headers()[source]#

覆盖此方法,以便在请求开始时设置 HTTP 标头。

例如,这是设置自定义 `Server` 标头的地方。请注意,在请求处理的正常流程中设置此类标头可能无法达到预期效果,因为标头可能在错误处理期间重置。

doc_handler#

提供一个请求处理程序,该处理程序返回一个显示文档的页面。

class DocHandler(tornado_app: BokehTornado, *args, **kw)[source]#

为文档显示页面实现自定义 Tornado 处理程序

autoload_metadata_handler#

提供一个请求处理程序,该处理程序返回一个包含来自应用程序的元数据信息的 json。

class MetadataHandler(tornado_app: BokehTornado, *args, **kw)[source]#

为文档显示页面实现自定义 Tornado 处理程序

root_handler#

提供一个请求处理程序,该处理程序列出应用程序(如果有多个)或(如果只有一个)重定向到该应用程序的路由。

class RootHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)[source]#

实现自定义 Tornado 处理程序来显示可用的应用程序,如果只有一个应用程序,它会重定向到该应用程序的路由

initialize(*args, **kw)[source]#

session_handler#

处理 bokeh-session-id 的抽象请求处理程序

class SessionHandler(tornado_app: BokehTornado, *args, **kw)[source]#

为文档显示页面实现自定义 Tornado 处理程序

initialize(*args, **kw)[source]#

static_handler#

提供一个请求处理程序,该处理程序返回一个显示文档的页面。

class StaticHandler(tornado_app, *args, **kw)[source]#

为 BokehJS JavaScript 和 CSS 资源实现自定义 Tornado 静态文件处理程序。

ws#

为 Bokeh Server 应用程序提供 Web 套接字处理程序。

class WSHandler(tornado_app, *args, **kw)[source]#

为 Bokeh Server 实现自定义 Tornado WebSocketHandler。

check_origin(origin: str) bool[source]#

为 Tornado 实现 check_origin 策略。

提供的来源将与 Bokeh 服务器允许列表进行比较。如果来源不被允许,将记录错误并返回 False

参数::

origin (str) – 连接来源的 URL

返回::

bool,如果连接被允许,则为 True,否则为 False

get_compression_options() dict[str, Any] | None[source]#

覆盖以返回连接的压缩选项。

如果此方法返回 None(默认值),则压缩将被禁用。如果它返回一个字典(即使是空的字典),它将被启用。字典的内容可用于控制以下压缩选项

compression_level 指定压缩级别。

mem_level 指定用于内部压缩状态的内存量。

这些参数在以下位置有详细说明:https://docs.pythonlang.cn/3.6/library/zlib.html#zlib.compressobj

在版本 4.1 中添加。

在版本 4.5 中更改:添加了 compression_levelmem_level

initialize(application_context, bokeh_websocket_path)[source]#
on_close() None[source]#

连接关闭时清理。

async on_message(fragment: str | bytes) None[source]#

处理单个线路协议片段。

Web 套接字 RFC 指定用于区分文本帧和二进制帧的操作码。Tornado 根据该操作码传递给我们文本字符串或二进制字符串,我们必须查看片段的类型以了解我们得到了什么。

参数::

fragment (unicodebytes) – 要处理的线路片段

on_pong(data: bytes) None[source]#

收到对 ping 帧的响应时调用。

open() None[source]#

初始化与客户端的连接。

返回::

select_subprotocol(subprotocols: list[str]) str | None[source]#

覆盖以实现子协议协商。

subprotocols 是一个字符串列表,标识客户端提出的子协议。此方法可以被覆盖以返回这些字符串之一来选择它,或者返回 None 来不选择子协议。

未能选择子协议不会自动中止连接,尽管如果客户端提出的子协议都没有被选择,客户端可能会关闭连接。

该列表可能为空,在这种情况下,此方法必须返回 None。即使没有提出子协议,此方法也始终被调用一次,以便通知处理程序这一事实。

版本 5.1 中的变更: 之前,如果客户端没有提出子协议,则此方法会调用一个包含空字符串而不是空列表的列表。

async send_message(message: Message[Any]) None[source]#

向连接的客户端发送 Bokeh Server 协议消息。

参数::

message (Message) – 要发送的消息

async write_message(message: bytes | str | dict[str, Any], binary: bool = False, locked: bool = True) None[source]#

用一个在写入之前获取写入锁的版本覆盖父 write_message。