Exemple #1
0
 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
 }
Exemple #2
0
        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
        }
Exemple #3
0
        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();
            }
        }