1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-30 00:00:16 +01:00
libwebsockets/minimal-examples/http-server
Andy Green d98101d1e3 plugins: generalize and provide public api
Move the common plugin scanning dir stuff to be based on lws_dir, which
already builds for windows.  Previously this was done via dirent for unix
and libuv for windows.

Reduce the dl plat stuff to just wrap instantiation and destruction of
dynlibs, establish common code in lib/misc/dir.c for plugin scanning
itself.

Migrate the libuv windows dl stuff to windows-plugins.c, so that he's
available even if later libuv loop support becomes and event lib plugin.

Remove the existing api exports scheme for plugins, just export a const struct
now which has a fixed header type but then whatever you want afterwards depending
on the class / purpose of the plugin.  Place a "class" string in the header so
there can be different kinds of plugins implying different types exported.

Make the plugin apis public and add support for filter by class string, and
per instantation / destruction callbacks so the subclassed header type can
do its thing for the plugin class.  The user provides a linked-list base
for his class of plugins, so he can manage them completely separately and
in user code / user export types.

Rip out some last hangers-on from generic sessions / tables.

This is all aimed at making the plugins support general enough so it can
provide event lib plugins later.
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 cmake: fix things ignoring LWS_WITH_TLS 2020-08-31 16:51:36 +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