1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-23 00:00:06 +01:00
libwebsockets/minimal-examples/http-client/minimal-http-client-multi
Andy Green 272dba8307 http: redo redirects to follow close flow
Until now although we can follow redirects, and they can promote the
protocol from h1->h2, we couldn't handle h2 wsi reuse since there are many
states in the wsi affected by being h2.

This wipes the related states in lws_wsi_reset() and follows the generic
wsi close flow before deviating into the redirect really close to the end,
ensuring we cleaned out evidence of our previous life properly.

h2->h2 redirects work properly after this.

The max number of redirects is increased from 3 -> 4 since this was seen in
the wild with www and then geographic-based redirects.
2021-06-22 15:55:29 +01:00
..
CMakeLists.txt http: redo redirects to follow close flow 2021-06-22 15:55:29 +01:00
minimal-http-client-multi.c tls-sessions: serialization 2021-04-04 05:45:53 +01:00
README.md minimal-http-client-multi: add POST 2020-02-21 17:32:41 +00:00
warmcat.com.cer LE-root-cert-update 2021-01-13 04:32:13 +00:00

lws minimal http client multi

build

 $ cmake . && make

usage

The application goes to https://warmcat.com and receives the page data same as minimal http client.

However it does it for 8 client connections concurrently.

Commandline Options

Option Meaning
-s Stagger the connections by 100ms, the last by 1s
-p Use http/1.1 pipelining or h2 simultaneous streams
--h1 Force http/1 only
-l Connect to server on https://localhost:7681 instead of https://warmcat.com:443
-n Read numbered files like /1.png, /2.png etc. Default is just read /
--uv Use libuv event loop if lws built for it
--event Use libevent event loop if lws built for it
--ev Use libev event loop if lws built for it
--post POST to the server rather than GET
-c Create n connections (n can be 1 .. 8)
--path Force the URL path (should start with /)