#include "afb-ws-json.h"
#include "afb-method.h"
+#include "afb-context.h"
#include "afb-hreq.h"
#include "afb-websock.h"
}
/* create the web socket */
- ws = proto->create(dup(MHD_get_connection_info(con, MHD_CONNECTION_INFO_CONNECTION_FD)->connect_fd),
+ ws = proto->create(MHD_get_connection_info(con, MHD_CONNECTION_INFO_CONNECTION_FD)->connect_fd,
context,
(void*)MHD_resume_connection,
con);
return 0;
ws = NULL;
- rc = check_websocket_upgrade(hreq->connection, protodefs, afb_hreq_context(hreq), &ws);
- if (rc && ws != NULL)
- hreq->upgrade = 1;
+ rc = check_websocket_upgrade(hreq->connection, protodefs, hreq->context.session, &ws);
+ if (rc == 1) {
+ hreq->replied = 1;
+ if (ws != NULL)
+ hreq->upgrade = 1;
+ }
return rc;
}