Commit Graph

38 Commits (main)

Author SHA1 Message Date
Jianhui Zhao 9166d3ab80 feat: multiple listen
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-02-27 00:22:53 +08:00
Fabrice Fontaine 117ae812a4 src/uhttpd.c: fix build without dlopen
Fix the following build failure without dlopen:

/home/buildroot/autobuild/instance-3/output-1/build/libuhttpd-3.8.0/src/uhttpd.c: In function 'uh_load_plugin':
/home/buildroot/autobuild/instance-3/output-1/build/libuhttpd-3.8.0/src/uhttpd.c:155:32: error: unused variable 'srvi' [-Werror=unused-variable]
     struct uh_server_internal *srvi = (struct uh_server_internal *)srv;
                                ^~~~

Fixes:
 - http://autobuild.buildroot.org/results/00e5b5e1da782dcedda48777cbb0a2cba9c98cec

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-01-18 07:33:34 +01:00
Jianhui Zhao afeee7ec2f Support set a callback for connection closed
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-15 13:07:37 +08:00
Jianhui Zhao c28eaa2bb7 Multi-process operation are not directly integrated
The multi-process model is presented as sample code.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-09 00:04:50 +08:00
Jianhui Zhao b0bed67434 Add some api
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-06 00:51:23 +08:00
Jianhui Zhao 8c2e9c3a57 Fix bug: Parent process exits but child process didn't
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-04 15:48:09 +08:00
Jianhui Zhao db85c135cb Use SO_REUSEPORT
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-03 21:53:20 +08:00
Jianhui Zhao b2ce003bcc Improve variable name
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-03 19:58:35 +08:00
Jianhui Zhao f044dc97a9 Watching worker processes
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-03 18:36:29 +08:00
Jianhui Zhao d6868b6ab3 multi-process model: Improve
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-03 18:15:06 +08:00
Jianhui Zhao c11052e302 uh_start_worker: Improve
The child process is only created when the number of workers is greater than 1

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-03 17:38:36 +08:00
Jianhui Zhao ffa199a647 Support multi-process model
The same multi-process model as Nginx

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-03 16:22:47 +08:00
Jianhui Zhao 01bfeb620b OOP: Only expose APIs
Hide the implementation details of the structure

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-01 18:16:07 +08:00
Jianhui Zhao 2fd658c347 configure the docroot and index page globally.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-01 16:53:14 +08:00
Jianhui Zhao bdd7727d48 Support IPv6
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-12-20 17:47:45 +08:00
Jianhui Zhao 7d94ddaedf Optimize code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-12-18 11:19:56 +08:00
Jianhui Zhao e571a34385 new features: path handler and upload large file
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-12-17 23:32:36 +08:00
Jianhui Zhao 4c75690dfd fix memory leak
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-12-17 00:47:06 +08:00
Fabrice Fontaine 0b2058e7c9 src/uhttpd.c: fix build without dlopen
Build without dlopen fails on:

/data/buildroot-test/instance-0/output-1/build/libuhttpd-3.4.0/src/uhttpd.c:45:23: error: unused variable 'p' [-Werror=unused-variable]
     struct uh_plugin *p = srv->plugins;
                       ^

Fixes:
 - http://autobuild.buildroot.org/results/b2bbd0681705b94e6b531996b39f62e47f089c92

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-10-16 21:39:47 +02:00
Jianhui Zhao 28c7e74aa8 Fix memory leak
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-10-06 17:56:01 +08:00
Jianhui Zhao b77d83c60b uh_connection: remove api: free
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-09-08 22:45:21 +08:00
Jianhui Zhao ac25a305fe build: Check if libdl exists in the system
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-04-05 00:47:29 +08:00
Jianhui Zhao 5f4f6e0d97 support plugin
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-03-14 00:25:42 +08:00
Jianhui Zhao 2ff3be7dc1 beautify code style
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-03-13 23:09:48 +08:00
Jianhui Zhao 563ad01821 Change the license information
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2019-09-03 15:03:35 +08:00
Jianhui Zhao 471e4fe436 Use libev instead of libubox
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2019-08-31 16:33:08 +08:00
Jianhui Zhao 622ff0c03f Remove not used field
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-07-23 22:58:55 +08:00
Jianhui Zhao 3b1d425d07 More simplly to use
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-07-21 16:41:19 +08:00
Jianhui Zhao ab5eb4bdae libuhttpd: Fix bug: Can't set docroot and index file
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-07-19 21:08:04 +08:00
Jianhui Zhao dcb397a62c libuhttpd: New API
int uh_server_open(const char *host, int port);
void uh_server_init(struct uh_server *srv, int sock);

Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-07-19 13:35:30 +08:00
Jianhui Zhao f6d609dded chmod 644
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-03-18 10:48:32 +08:00
Jianhui Zhao 379bfd2479 change license to LGPL2
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-03-03 17:33:49 +08:00
Jianhui Zhao 573969eadd Optimize code
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-01-17 12:50:25 +08:00
Jianhui Zhao ad46c0592b Optimize code
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-01-06 14:38:34 +08:00
Jianhui Zhao 89851e3f33 Optimize code
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-01-01 10:30:41 +08:00
Jianhui Zhao 3aa5d2aeed Fix License format
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2017-12-30 11:36:20 +08:00
Jianhui Zhao 568a287feb Restructure with libubox
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2017-12-29 14:40:58 +08:00
Jianhui Zhao 62a3a563f1 Renamed project: libuhttp -> libuhttpd
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2017-12-29 11:44:03 +08:00