Commit Graph

75 Commits

Author SHA1 Message Date
DanyLE
58a7738afe feat: rework on plugin support
All checks were successful
gitea-sync/ant-http/pipeline/head This commit looks good
- New plugin interface that supports multiple instances
- Fix and improve memory bugs
- Refactory and cleanup lib
- Improve scheduler
2024-03-13 18:07:07 +01:00
DanyLE
3bedc3ffb5 refactor: refactoring base code 2024-03-12 21:59:50 +01:00
DanyLE
9c25e62c0a feat(v2.0.0): Improvement + add IPv6 support
All checks were successful
gitea-sync/ant-http/pipeline/head This commit looks good
- fix: scheduler causes segmentfault when exiting the server
  - Add support for IPv6 protocol
2024-03-11 22:35:35 +01:00
DanyLE
32552ee0ed fix: remove openssl deprecated code
All checks were successful
gitea-sync/ant-http/pipeline/head This commit looks good
2024-03-09 16:52:28 +01:00
DanyLE
a1acea2441 Allow sandboxing plugin instances
All checks were successful
gitea-sync/ant-http/pipeline/head This commit looks good
2023-01-15 18:21:42 +01:00
DanyLE
bd0663ddf7 Unload plugin if pannic happen
All checks were successful
gitea-sync/ant-http/pipeline/head This commit looks good
2023-01-11 22:18:45 +01:00
DanyLE
a78815c3b6 Allow enable/disable plugin on each port
All checks were successful
gitea-sync/ant-http/pipeline/head This commit looks good
2023-01-09 19:51:21 +01:00
DanyLE
4e1c220b39 Allow specific configuration for plugins 2023-01-09 16:31:59 +01:00
DanyLE
cd40ec7214 ws header read: return null if data is not available
All checks were successful
gitea-sync/ant-http/pipeline/head This commit looks good
2022-08-31 20:37:00 +02:00
DanyLE
bf9cd3f1ca use select in scheduler 2022-08-30 17:36:19 +02:00
DanyLE
e35c8b7a6f use poll instead of select 2022-08-30 17:27:01 +02:00
DanyLE
c7f6cf42cb refactor code, let plugin handle application data in post request 2022-08-27 21:42:56 +02:00
DanyLE
088baa1ef5 use open instead of fopen for fire readwarite 2022-08-27 16:57:44 +02:00
DanyLE
923c6b2625 fix bug on reading socket when ssl is disable 2022-08-23 01:16:25 +02:00
lxsang
2d2ac4f1da cleanup unuse functions 2021-10-08 23:35:02 +02:00
lxsang
c7e9d2a579 remove debug compiling option 2021-10-08 22:53:08 +02:00
lxsang
0daef95c25 scheduler timeout should be configurable 2021-10-08 22:47:27 +02:00
lxsang
e9cd1addf7 log level should be configured in config file 2021-10-08 22:33:16 +02:00
Xuan Sang LE
dd7ff9b434
Xle perf improvement (#1)
* alpha version of proxy
* alpha version of proxy
* fix method bug
* fix post deode bug
* regen archive
* Reduce CPU usage on idle in proxy mode:
  - Scheduler timeout event now support millisecond granularity
  - Use only READABLE event on proxy socket which reduce tasks CPU time
* use both readable event and timeout event
* reduce scheduler poll time
* Fix segmentfault error
* Log worker task in statistic
* fix high cpu usage when handling bad POST request
* fix event-stream handling bug on proxy mode
* fix missing data events when uploading
* Race condition when get IP address from host in proxy mode
  - ip_from_hostname() is not thread safe
  - use global lock mechanism
2021-02-24 18:12:36 +01:00
lxsang
1f143327e4 proxy task is not closed imediately, result in hight CPU usage 2021-01-23 09:54:02 +01:00
lxsang
8b483f0579 fix proxy protocol bug 2021-01-22 13:12:23 +01:00
lxsang
520b99f94b add support to reverse proxy (alpha) 2021-01-22 01:12:26 +01:00
lxsang
5d1998ef1f inactivity timeout set to 60 2021-01-05 18:00:51 +00:00
lxsang
08877f84ad use the new scheduler 2021-01-03 21:31:35 +01:00
lxsang
cbbc48d216 improvement scheduler 2021-01-03 11:24:55 +01:00
lxsang
6408e646e8 add missing header 2021-01-01 13:26:51 +01:00
lxsang
f1a188ca3d add missing header file 2021-01-01 13:21:26 +01:00
lxsang
4b6de31e66 improve websocket lib 2020-12-22 16:02:36 +01:00
lxsang
9da33124bc allow ordered dictionary 2020-09-22 16:49:43 +02:00
lxsang
8c11f06ff0 fix scheduler bug: Scheduler dont validate client data as expected 2020-09-17 13:42:28 +02:00
lxsang
69ad08b1a1 fix scheduler statistic take too much cpu at idle 2020-09-13 02:46:24 +02:00
lxsang
b35cd61da4 add statistic log to scheduler, good for debug 2020-09-13 01:29:55 +02:00
lxsang
e38cd9de1b scheduler cause high CPU usage in syslog 2020-08-31 08:24:21 +02:00
lxsang
280ad920e9 fix plugin include error 2020-08-25 17:04:17 +02:00
lxsang
776bd017e2 Enhance scheduler, cleanup lib 2020-08-25 16:40:24 +02:00
lxsang
2041ee2ba0 cleanup code 2020-08-19 12:26:17 +02:00
lxsang
adb0811a08 add BST to lib 2020-08-06 18:45:12 +02:00
lxsang
0f44d62849 add identifier for log filter & regen distrib 2020-02-12 12:27:12 +01:00
lxsang
d5682fe186 user syslog for logging 2020-02-12 12:08:36 +01:00
lxsang
7fc12a72e6 add protocol selection to ssl, used for http2 support in the future 2020-01-11 22:30:01 +01:00
lxsang
6f7d028c86 add cache control to static file, remove unthread safe code 2020-01-10 17:31:49 +01:00
lxsang
75df72e10a add header verify 2020-01-09 12:18:59 +01:00
lxsang
1af2945af0 cleanup 2020-01-08 22:35:58 +01:00
lxsang
189120bd88 allow copress body with zlib 2020-01-08 22:04:10 +01:00
lxsang
4608ae874f fix 2020-01-08 19:17:51 +01:00
lxsang
cb98562585 alow a plugin to require other plugin 2020-01-03 10:14:04 +01:00
lxsang
b3609ea014 remove compile warning 2020-01-01 13:14:50 +01:00
lxsang
91d84baf01 fix list 2019-12-22 17:33:35 +01:00
lxsang
c429a7dd66 remove strdup calles 2019-12-22 14:33:42 +01:00
lxsang
4fb4674045 add websocket client to the library 2019-12-22 00:11:26 +01:00