1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #if !BESTHTTP_DISABLE_WEBSOCKET && (!UNITY_WEBGL || UNITY_EDITOR)
- using BestHTTP.WebSocket.Frames;
- namespace BestHTTP.WebSocket.Extensions
- {
- public interface IExtension
- {
- /// <summary>
- /// This is the first pass: here we can add headers to the request to initiate an extension negotiation.
- /// </summary>
- /// <param name="request"></param>
- void AddNegotiation(HTTPRequest request);
- /// <summary>
- /// If the websocket upgrade succeded it will call this function to be able to parse the server's negotiation
- /// response. Inside this function the IsEnabled should be set.
- /// </summary>
- bool ParseNegotiation(WebSocketResponse resp);
- /// <summary>
- /// This function should return a new header flag based on the inFlag parameter. The extension should set only the
- /// Rsv1-3 bits in the header.
- /// </summary>
- byte GetFrameHeader(WebSocketFrame writer, byte inFlag);
- /// <summary>
- /// This function will be called to be able to transform the data that will be sent to the server.
- /// </summary>
- /// <param name="writer"></param>
- /// <returns></returns>
- byte[] Encode(WebSocketFrame writer);
- /// <summary>
- /// This function can be used the decode the server-sent data.
- /// </summary>
- byte[] Decode(byte header, byte[] data);
- }
- }
- #endif
|