Qore WebSocketUtil Module Reference 1.4.1
Loading...
Searching...
No Matches
WebSocketUtil.qm.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
4/* WebSocketUtil.qm Copyright 2013 - 2024 Qore Technologies, s.r.o.
5
6 Permission is hereby granted, free of charge, to any person obtaining a
7 copy of this software and associated documentation files (the "Software"),
8 to deal in the Software without restriction, including without limitation
9 the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 and/or sell copies of the Software, and to permit persons to whom the
11 Software is furnished to do so, subject to the following conditions:
12
13 The above copyright notice and this permission notice shall be included in
14 all copies or substantial portions of the Software.
15
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 DEALINGS IN THE SOFTWARE.
23*/
24
25// minimum required Qore version
26
27// require type definitions everywhere
28
29// enable all warnings
30
31// assume local var scope, do not use "$" for vars, members, and method calls
32
33
78namespace WebSocketUtil {
80 public hashdecl WsMsgInfo {
81 int op;
82 bool masked;
83 int close;
84 bool fin;
85 *data msg;
86 };
87
89 const WS_GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
90
92 const WS_FIN = (1 << 7);
93
98 const WSOP_Continuation = 0x0;
99
101 const WSOP_Text = 0x1;
102
104 const WSOP_Binary = 0x2;
105
107 const WSOP_Close = 0x8;
108
110 const WSOP_Ping = 0x9;
111
113 const WSOP_Pong = 0xa;
114
116 const WSOPMap = ...;
117
119
124 const WSCC_NormalClosure = 1000;
125
127 const WSCC_GoingAway = 1001;
128
130 const WSCC_ProtocolError = 1002;
131
134
136 const WSCC_NoStatusRcvd = 1005;
137
140
142 const WSCC_InvalidData = 1007;
143
146
148 const WSCC_MessageTooBig = 1009;
149
151 const WSCC_MandatoryExt = 1010;
152
155
157 const WSCC_TlsHandshake = 1015;
158
160 const WSCCMap = ...;
161
163
165 binary ws_encode_message(data msg, int op = -1, *bool masked, bool fin = True);
166
167
169
183 hash<WsMsgInfo> ws_read_message(Socket sock, *timeout to);
184
185
187
193 string ws_get_response_key(string key);
194
195};
const WSCC_ProtocolError
"Protocol Error" code
Definition WebSocketUtil.qm.dox.h:130
const WSCC_NormalClosure
Definition WebSocketUtil.qm.dox.h:124
const WSCC_GoingAway
"Going Away" code
Definition WebSocketUtil.qm.dox.h:127
const WSCCMap
maps from close codes to text descriptions
Definition WebSocketUtil.qm.dox.h:160
const WSCC_AbnormalClosure
"Abnormal Closure" code
Definition WebSocketUtil.qm.dox.h:139
const WSCC_UnsupportedData
"Unsupported Data" code
Definition WebSocketUtil.qm.dox.h:133
const WSCC_NoStatusRcvd
"No Status Rcvd" code
Definition WebSocketUtil.qm.dox.h:136
const WSCC_InvalidData
"Invalid Frame Payload Data" code
Definition WebSocketUtil.qm.dox.h:142
const WSCC_MessageTooBig
"Message Too Big" code
Definition WebSocketUtil.qm.dox.h:148
const WSCC_TlsHandshake
"TLS Handshake" code
Definition WebSocketUtil.qm.dox.h:157
const WSCC_InternalServerError
"Internal Server Error" code
Definition WebSocketUtil.qm.dox.h:154
const WSCC_MandatoryExt
"Mandatory Ext." code
Definition WebSocketUtil.qm.dox.h:151
const WSCC_PolicyViolation
"Policy Violation" code
Definition WebSocketUtil.qm.dox.h:145
const WSOP_Text
text frame opcode
Definition WebSocketUtil.qm.dox.h:101
const WSOP_Binary
binary frame opcode
Definition WebSocketUtil.qm.dox.h:104
const WSOP_Close
connection code opcode
Definition WebSocketUtil.qm.dox.h:107
const WSOPMap
maps from opcodes to text descriptions
Definition WebSocketUtil.qm.dox.h:116
const WSOP_Pong
pong opcode
Definition WebSocketUtil.qm.dox.h:113
const WSOP_Ping
ping opcode
Definition WebSocketUtil.qm.dox.h:110
const WSOP_Continuation
Definition WebSocketUtil.qm.dox.h:98
the WebSocketUtil namespace contains all the definitions in the WebSocketUtil module
Definition WebSocketUtil.qm.dox.h:78
string ws_get_response_key(string key)
returns a string response key from the binary key and the WebSocket GUID value
const WS_FIN
the final fragment in a message
Definition WebSocketUtil.qm.dox.h:92
binary ws_encode_message(data msg, int op=-1, *bool masked, bool fin=True)
encodes a message for sending over a websocket socket
hash< WsMsgInfo > ws_read_message(Socket sock, *timeout to)
read and decode a message from a socket
const WS_GUID
WebSocket GUID.
Definition WebSocketUtil.qm.dox.h:89
WebSocket message info.
Definition WebSocketUtil.qm.dox.h:80