1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
libwebsockets/minimal-examples/http-server/minimal-http-server-dynamic
Andy Green 0079099f10 vhost: add pprotocols to vhost info
info.protocols works okay, but it has an annoying problem... you have to know
the type for each protocol's pss at the top level of the code, so you can set
the struct lws_protocols user_data size for it.

Lws already rewrites the protocol tables for a vhost in the case of runtime
protocol plugins... this adapts that already-existing code slightly to give
a new optional way to declare the protocol array.

Everything works as before by default, but now info.protocols may be NULL and
info.pprotocols defined instead (if that's also NULL, as it will be if you
just ignore it after memsetting to 0, then it continues to fall back to the
dummy protocol handler as before).

info.pprotocols is a NULL-termined array of pointers to lws_protocol
structs.  This can be composed at the top level of your code without knowing
anything except the name of the externally-defined lws_protocol struct(s).

The minimal example http-server-dynamic is changed to use the new scheme as
an example.
2019-03-10 08:02:02 +08:00
..
mount-origin minimal examples: update for CSP best practices 2018-11-21 17:03:29 +08:00
CMakeLists.txt refactor: most preparation for -DLWS_ROLE_H1=0 2018-04-27 19:16:50 +08:00
localhost-100y.cert minimal-http-server-dynamic: add tls vhost as well 2018-06-20 16:41:27 +08:00
localhost-100y.key minimal-http-server-dynamic: add tls vhost as well 2018-06-20 16:41:27 +08:00
minimal-http-server-dynamic.c vhost: add pprotocols to vhost info 2019-03-10 08:02:02 +08:00
README.md minimal: dynamic http server 2018-04-06 10:38:03 +08:00

lws minimal http server dynamic content

build

 $ cmake . && make

usage

 $ ./lws-minimal-http-server-dynamic
[2018/03/20 10:24:24:7099] USER: LWS minimal http server dynamic | visit http://localhost:7681
[2018/03/20 10:24:24:7099] NOTICE: Creating Vhost 'default' port 7681, 1 protocols, IPv6 off

Visit http://localhost:7681, which is all static content.

Click on the link to /dyn/anything, this opens a new tab with dynamicly-produced content.