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
Andy Green c6c7ab2b44 event libs: default to building as dynamically loaded plugins
Event lib support as it has been isn't scaling well, at the low level
libevent and libev headers have a namespace conflict so they can't
both be built into the same image, and at the distro level, binding
all the event libs to libwebsockets.so makes a bloaty situation for
packaging, lws will drag in all the event libs every time.

This patch implements the plan discussed here

https://github.com/warmcat/libwebsockets/issues/1980

and refactors the event lib support so they are built into isolated
plugins and bound at runtime according to what the application says
it wants to use.  The event lib plugins can be packaged individually
so that only the needed sets of support are installed (perhaps none
of them if the user code is OK with the default poll() loop).  And
dependent user code can mark the specific event loop plugin package
as required so pieces are added as needed.

The eventlib-foreign example is also refactored to build the selected
lib support isolated.

A readme is added detailing the changes and how to use them.

https://libwebsockets.org/git/libwebsockets/tree/READMEs/README.event-libs.md
2020-08-31 16:51:37 +01:00
..
minimal-http-server cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-basicauth cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-cgi cmake: fix things ignoring LWS_WITH_TLS 2020-08-31 16:51:36 +01:00
minimal-http-server-custom-headers content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-deaddrop content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-dynamic minimal-examples: http-server-dyn: Check if the first part of received url is our mountpoint 2020-07-27 11:53:50 +01:00
minimal-http-server-eventlib content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-eventlib-demos content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-eventlib-foreign event libs: default to building as dynamically loaded plugins 2020-08-31 16:51:37 +01:00
minimal-http-server-eventlib-smp content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-form-get cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-form-post content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-form-post-file cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-form-post-lwsac content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-fulltext-search cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-h2-long-poll content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-mimetypes cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-multivhost cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-proxy cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-smp content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-sse content_info: make members conditional 2020-06-18 08:29:43 +01:00
minimal-http-server-sse-ring cmake: mark all the subprojects as explicitly C 2020-08-31 16:51:36 +01:00
minimal-http-server-tls cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-tls-80 cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
minimal-http-server-tls-mem cmake: provide LIBWEBSOCKETS_DEP_LIBS in CONFIG 2020-06-16 19:45:35 +01:00
README.md vhost info: add memory buffer cert support 2019-03-12 11:57:43 +08:00

Example Demonstrates
minimal-http-server-basicauth Shows how to protect a mount using a password file and basic auth
minimal-http-server-custom-headers Shows how to query custom headers that lws doesn't already know
minimal-http-server-deaddrop Shows how to use the deaddrop drag and drop file upload + sharing plugin
minimal-http-server-dynamic Serves both static and dynamically generated http content
minimal-http-server-eventlib-foreign Demonstrates integrating lws with a foreign event library
minimal-http-server-eventlib-demos Using the demo plugins with event libraries
minimal-http-server-eventlib Same as minimal-http-server but works with a supported event library
minimal-http-server-form-get Process a GET form
minimal-http-server-form-post-file Process a multipart POST form with file transfer
minimal-http-server-form-post Process a POST form (no file transfer)
minimal-http-server-fulltext-search Demonstrates using lws Fulltext Search
minimal-http-server-mimetypes Shows how to add support for additional mimetypes at runtime
minimal-http-server-multivhost Same as minimal-http-server but three different vhosts
minimal-http-server-proxy Reverse Proxy
minimal-http-server-smp Multiple service threads
minimal-http-server-sse-ring Server Side Events with ringbuffer and threaded event sources
minimal-http-server-sse Simple Server Side Events
minimal-http-server-tls-80 Serves a directory over http/1 or http/2 with TLS (SSL), custom 404 handler, redirect to https on port 80
minimal-http-server-tls-mem Serves using TLS with the cert and key provided as memory buffers instead of files
minimal-http-server-tls Serves a directory over http/1 or http/2 with TLS (SSL), custom 404 handler
minimal-http-server Serves a directory over http/1, custom 404 handler