diff options
| author | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2016-11-13 21:12:43 +0100 | 
|---|---|---|
| committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2016-11-23 10:18:45 +0100 | 
| commit | aaa4ccc28461cd69d0bfb5d0a4eed59c86b88ea1 (patch) | |
| tree | db0074d91b9add481484682d14ac603e5f98e6f0 | |
| parent | 3d8f3d4c239c0b5da5bd5fcc3fddd0fed72815d3 (diff) | |
| download | mitmproxy-aaa4ccc28461cd69d0bfb5d0a4eed59c86b88ea1.tar.gz mitmproxy-aaa4ccc28461cd69d0bfb5d0a4eed59c86b88ea1.tar.bz2 mitmproxy-aaa4ccc28461cd69d0bfb5d0a4eed59c86b88ea1.zip | |
websocket: add event documentation
| -rw-r--r-- | docs/scripting/events.rst | 58 | 
1 files changed, 46 insertions, 12 deletions
| diff --git a/docs/scripting/events.rst b/docs/scripting/events.rst index 69b829a3..a0fc1243 100644 --- a/docs/scripting/events.rst +++ b/docs/scripting/events.rst @@ -158,12 +158,15 @@ 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:: websocket_handshake(flow) -          - Called when a client wants to establish a WebSocket connection. The            WebSocket-specific headers can be manipulated to manipulate the            handshake. The ``flow`` object is guaranteed to have a non-None @@ -173,6 +176,36 @@ WebSocket Events              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. | 
