<div dir="ltr"><div>I'm calling the "parent" wsi, that which is responsible for the client connection.</div><div><br></div><div>I'm figuring in user land I would do something like this:<br></div><div>get response value here -> LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP && LWS_CALLBACK_CLIENT_CONNECTION_ERROR</div><div>get headers here -> LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH<br></div><div>read/write here -> LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ (chunked) && LWS_CALLBACK_RECEIVE_CLIENT_HTTP (non-chunked)</div><div><br></div><div>Sound about right?</div><div><br></div><div>Thanks,</div><div>Joel</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 16, 2017 at 3:12 PM, Andy Green <span dir="ltr"><<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
On February 17, 2017 4:19:54 AM GMT+08:00, Joel Winarske <<a href="mailto:joel.winarske@gmail.com">joel.winarske@gmail.com</a>> wrote:<br>
>Hi Andy,<br>
><br>
>What method would you suggest to write the complete client response<br>
>(status<br>
>+ headers + data) back to the parent?<br>
<br>
</span>I don't really follow (because you don't explain) what 'parent' means to you.<br>
<br>
If 'parent' is ultimately another socket, and you want to write the client rx back out on that, the basic point is don't consume the incoming client rx until the outgoing socket is writable.  This means the outgoing socket effectively flow-controls reading the incoming client data.<br>
<br>
The client rx is in two parts, the callback to notify something came, and then an api call to get / consume it, exactly to facilitate your asking for a callback when something else becomes writable in response to "something came on your client connection" message appears, and get / consume the client rx only when the onward socket's writable callback comes.<br>
<br>
For headers, lws doesn't keep them verbatim, but you can dump the ah version. Status is also in there.<br>
<br>
-Andy<br>
<br>
><br>
>Thanks,<br>
>Joel<br>
</blockquote></div><br></div>