<div dir="ltr">I gave it a spin.  Based on the Wireshark trace below, one can see why "no ACCEPT".  It just needs to get to LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH.<div><br></div><div><br></div><div><div>[2017/03/13 11:21:07:9396] NOTICE:      url: <a href="http://www.npr.org">http://www.npr.org</a></div><div>[2017/03/13 11:21:07:9396] NOTICE:      method: HEAD</div><div>[2017/03/13 11:21:07:9396] NOTICE: using http mode (non-ws)</div><div>[2017/03/13 11:21:07:9396] NOTICE: http client: connecting</div><div>[2017/03/13 11:21:07:9396] INFO: lws_header_table_attach: wsi 038C4198: ah 00000000 (tsi 0, count = 2) in</div><div>[2017/03/13 11:21:07:9396] INFO: lws_header_table_attach: wsi 038C4198: ah 01313DF8: count 3 (on exit)</div><div>[2017/03/13 11:21:07:9396] NOTICE: lws_client_connect_2: address <a href="http://www.npr.org">www.npr.org</a></div><div>[2017/03/13 11:21:08:0230] INFO: lws_client_connect_via_info: created child 038C4198 of parent 038C3E70</div><div>[2017/03/13 11:21:08:0230] NOTICE: lws_client_connect_via_info sucessful</div><div>[2017/03/13 11:21:08:0230] INFO: lws_read: read_ok, used 157</div><div>[2017/03/13 11:21:08:0937] NOTICE: lws_client_connect_2: address <a href="http://www.npr.org">www.npr.org</a></div><div>[2017/03/13 11:21:08:1668] INFO: no ACCEPT</div><div>[2017/03/13 11:21:08:1668] INFO: closing connection due to bail2 connection error</div><div>[2017/03/13 11:21:08:1668] INFO: lws_close_free_wsi: real just_kill_connection: 038C4198 (sockfd 576)</div><div>[2017/03/13 11:21:08:1668] INFO: remove_wsi_socket_from_fds: removing same prot wsi 038C4198</div><div>[2017/03/13 11:21:08:1678] INFO: ah det due to close</div><div><br></div><div><br></div><div>[Wireshark trace]</div><div>Frame 61: 324 bytes on wire (2592 bits), 324 bytes captured (2592 bits) on interface 0</div><div>Ethernet II, Src: IntelCor_c7:3f:74 (24:77:03:c7:3f:74), Dst: Cisco_51:82:94 (00:78:88:51:82:94)</div><div>Internet Protocol Version 4, Src: 172.16.19.129, Dst: 38.68.171.71</div><div>Transmission Control Protocol, Src Port: 29415, Dst Port: 80, Seq: 1, Ack: 1, Len: 270</div><div>Hypertext Transfer Protocol</div><div>    GET // HTTP/1.1\r\n</div><div>    Pragma: no-cache\r\n</div><div>    Cache-Control: no-cache\r\n</div><div>    Host: <a href="http://www.npr.org">www.npr.org</a>\r\n</div><div>    Upgrade: websocket\r\n</div><div>    Connection: Upgrade\r\n</div><div>    Sec-WebSocket-Key: sxJNyEO7i6YfA1p9CTglHw==\r\n</div><div>    Sec-WebSocket-Protocol: http\r\n</div><div>    Sec-WebSocket-Extensions: permessage-deflate\r\n</div><div>    Sec-WebSocket-Version: 13\r\n</div><div>    \r\n</div><div>    [Full request URI: <a href="http://www.npr.org//">http://www.npr.org//</a>]</div><div>    [HTTP request 1/1]</div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 12, 2017 at 11:05 AM, 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 March 12, 2017 10:27:33 PM GMT+08:00, Joel Winarske <<a href="mailto:joel.winarske@gmail.com">joel.winarske@gmail.com</a>> wrote:<br>
>Just for http client.  I see it for being used as a technique to test<br>
>the<br>
>internet connection.<br>
<br>
</span>I haven't tried it, but it should generally work.  It doesn't understand itself atm that with HEAD, the content-length it was told is never going to be fulfilled.  So you may have to hang up on it after you got the headers.<br>
<span class="HOEnZb"><font color="#888888"><br>
-Andy<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
>On Sat, Mar 11, 2017 at 1:30 PM Andy Green <<a href="mailto:andy@warmcat.com">andy@warmcat.com</a>> wrote:<br>
><br>
>><br>
>><br>
>> On March 12, 2017 2:14:46 AM GMT+08:00, Joel Winarske <<br>
>> <a href="mailto:joel.winarske@gmail.com">joel.winarske@gmail.com</a>> wrote:<br>
>> >Hi Andy,<br>
>> ><br>
>> >Is method HEAD expected to work with client?<br>
>><br>
>> It looks like it should issue what it would for GET with HEAD, if you<br>
>set<br>
>> the client connect info .method to "HEAD".  That's what HEAD is<br>
>supposed to<br>
>> do on client.<br>
>><br>
>> Are you really asking does lws server part understand HEAD?  It knows<br>
>it<br>
>> is a valid method and can parse it, but it doesn't respond to it<br>
>using HEAD<br>
>> semantics in the fileserving part, since nobody has asked for it.<br>
>><br>
>> -Andy<br>
>><br>
>> ><br>
>> >Joel<br>
>><br>
</div></div></blockquote></div><br></div>