コード例 #1
0
            public static byte[] createOpenHandshakeHTTPRequest(cape.URL url, string key)
            {
                if (!(url != null && key != null))
                {
                    return(null);
                }
                var sb = new cape.StringBuilder();

                sb.append("GET ");
                var path = url.toStringNohost();

                if (cape.String.isEmpty(path))
                {
                    sb.append('/');
                }
                else
                {
                    if (cape.String.getIndexOf(path, '/') != 0)
                    {
                        sb.append('/');
                    }
                    sb.append(path);
                }
                sb.append(" HTTP/1.1\r\n");
                sb.append("Host: ");
                sb.append(url.getHost());
                var port = url.getPort();

                if (!(object.Equals(port, null)))
                {
                    sb.append(':');
                    sb.append(port);
                }
                sb.append("\r\n");
                sb.append("Upgrade: websocket\r\n");
                sb.append("Connection: Upgrade\r\n");
                sb.append("Sec-WebSocket-Key: ");
                sb.append(key);
                sb.append("\r\nSec-WebSocket-Version: 13\r\n\r\n");
                return(cape.String.toUTF8Buffer(sb.toString()));
            }