static void on_websocket_upgrade_complete(void *_info, h2o_socket_t *sock, size_t reqsize) { struct rp_ws_upgrade_info_t *info = _info; if (sock != NULL) { h2o_tunnel_establish(info->ctx, sock, info->upstream_sock, info->timeout); } else { h2o_socket_close(info->upstream_sock); } free(info); }
static void on_websocket_upgrade_complete(void *_info, h2o_socket_t *sock, size_t reqsize) { struct rp_ws_upgrade_info_t *info = _info; if (sock != NULL) { h2o_buffer_consume(&sock->input, reqsize);//It is detached from conn. Let's trash unused data. h2o_tunnel_establish(info->ctx, sock, info->upstream_sock, info->timeout); } else { h2o_socket_close(info->upstream_sock); } free(info); }