aboutsummaryrefslogtreecommitdiffstats
path: root/docs/scripting/events.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/scripting/events.rst')
-rw-r--r--docs/scripting/events.rst66
1 files changed, 50 insertions, 16 deletions
diff --git a/docs/scripting/events.rst b/docs/scripting/events.rst
index 5f560e58..8f9463ff 100644
--- a/docs/scripting/events.rst
+++ b/docs/scripting/events.rst
@@ -158,21 +158,54 @@ HTTP Events
WebSocket Events
-----------------
+These events are called only after a connection made an HTTP upgrade with
+"101 Switching Protocols". No further HTTP-related events after the handshake
+are issued, only new WebSocket messages are called.
+
.. list-table::
:widths: 40 60
:header-rows: 0
- * - .. py:function:: websockets_handshake(flow)
-
- - Called when a client wants to establish a WebSockets connection. The
- WebSockets-specific headers can be manipulated to manipulate the
+ * - .. py:function:: websocket_handshake(flow)
+ - Called when a client wants to establish a WebSocket connection. The
+ WebSocket-specific headers can be manipulated to alter the
handshake. The ``flow`` object is guaranteed to have a non-None
``request`` attribute.
*flow*
- The flow containing the HTTP websocket handshake request. The
+ The flow containing the HTTP WebSocket handshake request. The
object is guaranteed to have a non-None ``request`` attribute.
+ * - .. py:function:: websocket_start(flow)
+ - Called when WebSocket connection is established after a successful
+ handshake.
+
+ *flow*
+ A ``models.WebSocketFlow`` object.
+
+ * - .. py:function:: websocket_message(flow)
+
+ - Called when a WebSocket message is received from the client or server. The
+ sender and receiver are identifiable. The most recent message will be
+ ``flow.messages[-1]``. The message is user-modifiable. Currently there are
+ two types of messages, corresponding to the BINARY and TEXT frame types.
+
+ *flow*
+ A ``models.WebSocketFlow`` object.
+
+ * - .. py:function:: websocket_end(flow)
+ - Called when WebSocket connection ends.
+
+ *flow*
+ A ``models.WebSocketFlow`` object.
+
+ * - .. py:function:: websocket_error(flow)
+ - Called when a WebSocket error occurs - e.g. the connection closing
+ unexpectedly.
+
+ *flow*
+ A ``models.WebSocketFlow`` object.
+
TCP Events
----------
@@ -185,30 +218,31 @@ connections.
:widths: 40 60
:header-rows: 0
- * - .. py:function:: tcp_end(flow)
- - Called when TCP streaming ends.
-
- *flow*
- A ``models.TCPFlow`` object.
- * - .. py:function:: tcp_error(flow)
- - Called when a TCP error occurs - e.g. the connection closing
- unexpectedly.
+ * - .. py:function:: tcp_start(flow)
+ - Called when TCP streaming starts.
*flow*
A ``models.TCPFlow`` object.
* - .. py:function:: tcp_message(flow)
- - Called a TCP payload is received from the client or server. The
+ - Called when a TCP payload is received from the client or server. The
sender and receiver are identifiable. The most recent message will be
``flow.messages[-1]``. The message is user-modifiable.
*flow*
A ``models.TCPFlow`` object.
- * - .. py:function:: tcp_start(flow)
- - Called when TCP streaming starts.
+ * - .. py:function:: tcp_end(flow)
+ - Called when TCP streaming ends.
+
+ *flow*
+ A ``models.TCPFlow`` object.
+
+ * - .. py:function:: tcp_error(flow)
+ - Called when a TCP error occurs - e.g. the connection closing
+ unexpectedly.
*flow*
A ``models.TCPFlow`` object.