<div dir="ltr"><div dir="ltr">Hi all,<div><br></div><div>I'm running libwebsocket v3.0-stable and trying to implement RESTful API support.</div><div><br></div><div>When the server tries to send large message(=45431 bytes) back to client. In `LWS_CALLBACK_HTTP_WRITEABLE`, `lws_write()` returns 45431, which means it accepts all the data. And `lws_http_transaction_completed()` returns 1. Then `return -1` is called to close the connection.</div><div><br></div><div>But it seems `LWS_CALLBACK_HTTP_WRITEABLE` will be invoked again with `lws_send_pipe_choked()` returning 1. On client side, it only receives part of the data. I was expecting all the data had been sent, and the connection should be closed successfully.</div><div><br></div><div>I checked the document, and I am not sure if it is related to `truncated writes` mentioned in this page:<a href="https://libwebsockets.org/lws-api-doc-master/html/group__sending-data.html">https://libwebsockets.org/lws-api-doc-master/html/group__sending-data.html</a></div><div><br></div><div>Any idea on my issue and what's the best way to send large http response message? Thanks!</div><div><br></div><div>Best,</div><div>Chanson</div></div></div>