diff options
| author | Lu Qiuwen <[email protected]> | 2018-09-07 17:27:23 +0800 |
|---|---|---|
| committer | Lu Qiuwen <[email protected]> | 2018-09-07 17:27:58 +0800 |
| commit | b6a225078601fea5661b358155e678e6eb045b80 (patch) | |
| tree | abd4cdd5e48134479bcd6ff75f19e12c96024b27 /platform/src/proxy.cpp | |
| parent | e31ecbb8db627e8f7d163ce61eb1813953d64bd9 (diff) | |
完成HTTP请求侧解析调试,可以解析请求的URL。
* 增加插件管理功能(简单实现),可以调用解析层插件;
* 调整HTTP请求侧解析回调函数实现;
* 增加hexdump工具函数;
Diffstat (limited to 'platform/src/proxy.cpp')
| -rw-r--r-- | platform/src/proxy.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/platform/src/proxy.cpp b/platform/src/proxy.cpp index ff9f4b4..44d5243 100644 --- a/platform/src/proxy.cpp +++ b/platform/src/proxy.cpp @@ -32,6 +32,7 @@ #include <kni_acceptor.h> #include <tcp_stream.h> #include <MESA/MESA_prof_load.h> +#include <tfe_plugin.h> static int signals[] = {SIGTERM, SIGQUIT, SIGHUP, SIGPIPE, SIGUSR1}; @@ -230,6 +231,16 @@ int main(int argc, char *argv[]) g_default_proxy->kni_acceptor_handler = kni_acceptor_init(g_default_proxy, main_profile, g_default_logger); CHECK_OR_EXIT(g_default_proxy->kni_acceptor_handler, "Failed at init KNI acceptor. Exit. "); + /* PLUGIN INIT */ + unsigned int plugin_iterator = 0; + for(struct tfe_plugin * plugin_iter = tfe_plugin_iterate(&plugin_iterator); + plugin_iter != NULL; plugin_iter = tfe_plugin_iterate(&plugin_iterator)) + { + ret = plugin_iter->on_init(g_default_proxy); + CHECK_OR_EXIT(ret >= 0, "Plugin %s init failed. Exit. ", plugin_iter->symbol); + TFE_LOG_INFO(g_default_logger, "Plugin %s initialized. ", plugin_iter->symbol); + } + for (size_t i = 0; i < (sizeof(signals) / sizeof(int)); i++) { g_default_proxy->sev[i] = evsignal_new(g_default_proxy->evbase, signals[i], __signal_handler_cb, g_default_proxy); |
