[Libwebsockets] write complete client response back to parent
andy at warmcat.com
Fri Feb 17 02:13:40 CET 2017
On 02/17/2017 08:46 AM, Joel Winarske wrote:
> I'm calling the "parent" wsi, that which is responsible for the client
> I'm figuring in user land I would do something like this:
> get response value here -> LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP &&
> get headers here -> LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH
> read/write here -> LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ (chunked)
> && LWS_CALLBACK_RECEIVE_CLIENT_HTTP (non-chunked)
> Sound about right?
> On Thu, Feb 16, 2017 at 3:12 PM, Andy Green <andy at warmcat.com
> <mailto:andy at warmcat.com>> wrote:
> On February 17, 2017 4:19:54 AM GMT+08:00, Joel Winarske
> <joel.winarske at gmail.com <mailto:joel.winarske at gmail.com>> wrote:
> >Hi Andy,
> >What method would you suggest to write the complete client response
> >+ headers + data) back to the parent?
> I don't really follow (because you don't explain) what 'parent'
> means to you.
> 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.
> 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.
> For headers, lws doesn't keep them verbatim, but you can dump the
> ah version. Status is also in there.
More information about the Libwebsockets