0
Fork 0
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:
Loïc Hoguin 2019-10-10 11:33:35 +02:00
parent cc54c207e3
commit d52e84bdd9
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764
5 changed files with 87 additions and 6 deletions

View file

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