END_TEST START_TEST (test_cometd_msg_client_id) { JsonNode* n = cometd_json_str2node("{ \"clientId\": \"abcd\" }"); gchar* client_id = cometd_msg_client_id(n); ck_assert_str_eq("abcd", client_id); json_node_free(n); g_free(client_id); }
int cometd_process_handshake(const cometd* h, JsonNode* msg) { cometd_conn* conn = h->conn; cometd_config* config = h->config; cometd_transport* t = cometd_transport_negotiate(config->transports, msg); int code = COMETD_SUCCESS; if (t) { gchar* client_id = cometd_msg_client_id(msg); cometd_conn_set_transport(conn, t); cometd_conn_set_client_id(conn, client_id); cometd_conn_set_state(conn, COMETD_HANDSHAKE_SUCCESS); g_free(client_id); } else { code = ECOMETD_NO_TRANSPORT; } cometd_conn_take_advice(conn, cometd_msg_advice(msg)); return code; }