diff --git a/lib/roles/http/client/client-handshake.c b/lib/roles/http/client/client-handshake.c index b00e6eb6b..44f33c067 100644 --- a/lib/roles/http/client/client-handshake.c +++ b/lib/roles/http/client/client-handshake.c @@ -970,7 +970,8 @@ html_parser_cb(const hubbub_token *token, void *pw) break; } - if (user_callback_handle_rxflow(r->wsi->protocol->callback, + if (r->wsi->protocol_bind_balance && + user_callback_handle_rxflow(r->wsi->protocol->callback, r->wsi, LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ, r->wsi->user_space, start, p - start)) return -1; diff --git a/lib/roles/http/client/client.c b/lib/roles/http/client/client.c index 414972ec1..abd254ed6 100644 --- a/lib/roles/http/client/client.c +++ b/lib/roles/http/client/client.c @@ -1249,7 +1249,8 @@ spin_chunks: { struct lws *wsi_eff = lws_client_wsi_effective(wsi); - if (user_callback_handle_rxflow(wsi_eff->protocol->callback, + if (!wsi_eff->protocol_bind_balance && + user_callback_handle_rxflow(wsi_eff->protocol->callback, wsi_eff, LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ, wsi_eff->user_space, *buf, n)) { lwsl_info("%s: RECEIVE_CLIENT_HTTP_READ returned -1\n",