查看源代码 Phoenix.Endpoint.Cowboy2Adapter (Phoenix v1.7.14)
Phoenix 的 Cowboy2 适配器。
端点配置
此适配器使用以下端点配置
:http
- HTTP 服务器的配置。它接受由Plug.Cowboy
定义的所有选项。默认值为false
:https
- HTTPS 服务器的配置。它接受由Plug.Cowboy
定义的所有选项。默认值为false
:drainer
- 当您的应用程序关闭时触发的一个排水器进程,以等待任何正在进行的请求完成。它接受由Plug.Cowboy.Drainer
定义的所有选项。默认值为[]
,这将为每个配置的端点启动一个排水器进程,但可以通过将其设置为false
来禁用。
自定义调度选项
您可以提供自定义调度选项,以便将 Phoenix 的内置 Cowboy 服务器与自定义处理程序一起使用。例如,要处理原始 WebSockets 如 Cowboy 文档中所示)。
这些选项传递给端点配置中的 :http
和 :https
键。但是,一旦您传递了自定义调度选项,您将需要通过添加以下规则来手动连接 Phoenix 端点
{:_, Plug.Cowboy.Handler, {MyAppWeb.Endpoint, []}}
例如
config :myapp, MyAppWeb.Endpoint,
http: [dispatch: [
{:_, [
{"/foo", MyAppWeb.CustomHandler, []},
{:_, Plug.Cowboy.Handler, {MyAppWeb.Endpoint, []}}
]}]]
同样重要的是先指定您的处理程序,否则 Phoenix 会在请求到达您的处理程序之前拦截它们。