mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 20:30:23 +00:00
Add shutdown_reason Websocket command
This allows changing the normal exit reason of Websocket processes, providing a way to signal other processes of why the exit occurred.
This commit is contained in:
parent
cc54c207e3
commit
d52e84bdd9
5 changed files with 87 additions and 6 deletions
|
@ -81,6 +81,12 @@ Cowboy 2.7 requires Erlang/OTP 20.0 or greater.
|
|||
is now considered stable and has been documented.
|
||||
The old interface is now deprecated.
|
||||
|
||||
* A new Websocket handler command `shutdown_reason`
|
||||
can be used to change the normal exit reason of
|
||||
Websocket processes. By default `normal` is used;
|
||||
with this command the exit reason can be changed
|
||||
to `{shutdown, ShutdownReason}`.
|
||||
|
||||
* The experimental stream handlers `cowboy_metrics_h`
|
||||
and `cowboy_tracer_h` are now considered stable and
|
||||
have been documented.
|
||||
|
|
|
@ -141,6 +141,7 @@ commands() :: [Command]
|
|||
Command :: {active, boolean()}
|
||||
| {deflate, boolean()}
|
||||
| {set_options, #{idle_timeout => timeout()}}
|
||||
| {shutdown_reason, any()}
|
||||
| Frame :: cow_ws:frame()
|
||||
----
|
||||
|
||||
|
@ -163,6 +164,15 @@ set_options::
|
|||
Set Websocket options. Currently only the option `idle_timeout`
|
||||
may be updated from a Websocket handler.
|
||||
|
||||
shutdown_reason::
|
||||
|
||||
Change the shutdown reason. The Websocket process will exit
|
||||
with reason `normal` by default. This command can be used to
|
||||
exit with reason `{shutdown, ShutdownReason}` under normal
|
||||
conditions. This command has no effect when the Websocket
|
||||
process exits abnormally, for example following a crash in a
|
||||
handler callback.
|
||||
|
||||
Frame::
|
||||
|
||||
Send the corresponding Websocket frame.
|
||||
|
@ -266,8 +276,9 @@ normal circumstances if necessary.
|
|||
|
||||
== Changelog
|
||||
|
||||
* *2.7*: The commands based interface has been added. The old
|
||||
interface is now deprecated.
|
||||
* *2.7*: The commands based interface has been documented.
|
||||
The old interface is now deprecated.
|
||||
* *2.7*: The command `shutdown_reason` was introduced.
|
||||
* *2.7*: The option `validate_utf8` has been added.
|
||||
* *2.6*: Deflate options can now be configured via `deflate_opts`.
|
||||
* *2.0*: The Req object is no longer passed to Websocket callbacks.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue