Beispiel #1
0
    lib::error_code validate_handshake(request_type const & r) const {
        if (r.get_method() != "GET") {
            return make_error_code(error::invalid_http_method);
        }

        if (r.get_version() != "HTTP/1.1") {
            return make_error_code(error::invalid_http_version);
        }

        // required headers
        // Host is required by HTTP/1.1
        // Connection is required by is_websocket_handshake
        // Upgrade is required by is_websocket_handshake
        if (r.get_header("Sec-WebSocket-Key") == "") {
            return make_error_code(error::missing_required_header);
        }

        return lib::error_code();
    }
Beispiel #2
0
    lib::error_code validate_handshake(request_type const & r) const {
        if (r.get_method() != "get") {
            return make_error_code(error::invalid_http_method);
        }

        if (r.get_version() != "http/1.1") {
            return make_error_code(error::invalid_http_version);
        }

        // required headers
        // host is required by http/1.1
        // connection is required by is_websocket_handshake
        // upgrade is required by is_websocket_handshake
        if (r.get_header("sec-websocket-key") == "") {
            return make_error_code(error::missing_required_header);
        }

        return lib::error_code();
    }