protected static void __hx_ctor_hx_ws_HttpResponse(global::hx.ws.HttpResponse __hx_this) { unchecked { #line 8 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\HttpResponse.hx" __hx_this.headers = new global::haxe.ds.StringMap(); #line 6 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\HttpResponse.hx" __hx_this.text = ""; #line 5 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\HttpResponse.hx" __hx_this.code = -1; #line 4 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\HttpResponse.hx" __hx_this.httpVersion = "HTTP/1.1"; #line 10 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\HttpResponse.hx" { } } #line default }
public virtual void handshake(global::hx.ws.HttpResponse httpResponse) { unchecked { #line 239 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" global::haxe.Log.trace.__hx_invoke2_o(default(double), httpResponse.toString(), default(double), new global::haxe.lang.DynamicObject(new int[] { 302979532, 1547539107, 1648581351 }, new object[] { "handshake", "hx.ws.WebSocket", "src/hx/ws/WebSocket.hx" }, new int[] { 1981972957 }, new double[] { ((double)(239)) })); if ((httpResponse.code != 101)) { #line 241 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" if ((this.onerror != null)) { #line 242 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" this.onerror.__hx_invoke1_o(default(double), global::haxe.lang.Runtime.toString(((global::haxe.ds.StringMap)(((global::haxe.IMap)(httpResponse.headers)))).@get(((string)("X-WebSocket-Reject-Reason"))))); } #line 244 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" this.close(); return; } #line 247 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" string secKey = global::haxe.lang.Runtime.toString(((global::haxe.ds.StringMap)(((global::haxe.IMap)(httpResponse.headers)))).@get(((string)("Sec-WebSocket-Accept")))); if ((secKey != global::haxe.crypto.Base64.encode(global::haxe.crypto.Sha1.make(global::haxe.io.Bytes.ofString(global::haxe.lang.Runtime.concat(this._encodedKey, "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"), null)), null))) { #line 249 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" if ((this.onerror != null)) { #line 250 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" this.onerror.__hx_invoke1_o(default(double), "Error during WebSocket handshake: Incorrect \'Sec-WebSocket-Accept\' header value"); } #line 252 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" this.close(); return; } #line 255 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" this._onopenCalled = false; this.state = global::hx.ws.State.Head; } #line default }
public override void handleData() { #line 225 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" if ((this.state._hx_index == 0)) { #line 227 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" global::hx.ws.HttpResponse httpResponse = this.recvHttpResponse(); if ((httpResponse == null)) { #line 229 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" return; } #line 231 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" this.handshake(httpResponse); this.handleData(); } else { #line 234 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\WebSocket.hx" base.handleData(); } }