bokeh.server.views#

auth_request_handler#

提供一个混入类,用于向请求处理程序添加授权钩子。

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

这个mixin添加了预期的Tornado授权钩子:

  • get_login_url

  • get_current_user

  • 准备

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

get_current_user()[source]#

委托给认证提供者的同步 get_user 方法

get_login_url()[源代码]#

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

async prepare()[source]#

get_current_user 的异步对应函数

自动加载JS处理器#

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

class AutoloadJsHandler(tornado_app: BokehTornado, *args, **kw)[源代码]#

为自动加载的JS块实现自定义的Tornado处理器

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

浏览器在GET请求之前会隐式地发出OPTIONS请求

set_default_headers()[源代码]#

重写此方法以在请求开始时设置HTTP头。

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

文档处理程序#

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

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

实现一个自定义的Tornado处理程序用于文档显示页面

自动加载元数据处理器#

提供一个请求处理程序,返回包含应用程序元数据信息的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]#

会话处理程序#

处理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服务器应用程序提供一个Web套接字处理程序。

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

为Bokeh服务器实现了一个自定义的Tornado WebSocketHandler。

check_origin(origin: str) bool[源代码]#

为Tornado实现一个check_origin策略以供调用。

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

Parameters:

origin (str) – 连接源的URL

Returns:

布尔值,如果连接被允许则为True,否则为False

get_compression_options() dict[str, Any] | None[源代码]#

重写以返回连接的压缩选项。

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

compression_level 指定压缩级别。

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

在版本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]#

处理单个有线协议片段。

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

Parameters:

fragment (unicodebytes) – 要处理的网络片段

on_pong(data: bytes) None[source]#

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

open() None[source]#

初始化与客户端的连接。

Returns:

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

重写以实现子协议协商。

subprotocols 是一个字符串列表,用于标识客户端提出的子协议。此方法可以被重写以返回其中一个字符串来选择它,或者返回 None 以不选择子协议。

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

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

在版本5.1中更改:以前,如果客户端没有提出任何子协议,则此方法使用包含空字符串的列表而不是空列表调用。

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

向连接的客户端发送一个Bokeh服务器协议消息。

Parameters:

消息 (Message) – 要发送的消息

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

重写父类的write_message方法,使用一个在写入前获取写锁的版本。