diff options
author | Jose Bollo <jose.bollo@iot.bzh> | 2019-02-21 14:39:59 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2019-03-22 12:21:54 +0100 |
commit | 0e2b5f5b7fa3a09abf61c8253efce7c7f2b4c444 (patch) | |
tree | 85f54ba7b0301245553e86704d28dfccaa031013 /src/main-afb-daemon.c | |
parent | f2f086fa99e47ca8b3001831ea3548f8758e1222 (diff) |
Allow to remove libmicrohttpd (HTTP server)
This allows to remove the dependency to libmicrohttpd.
At the end, this will allow either to replace it with
an other HTTP library or to fully remove the HTTP server.
It also makes a tiny improvement of the conditionnal compilation.
Change-Id: I24106659af04453b6693f2cda0939a601391202f
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/main-afb-daemon.c')
-rw-r--r-- | src/main-afb-daemon.c | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/src/main-afb-daemon.c b/src/main-afb-daemon.c index 705c69f9..a7ddf9f9 100644 --- a/src/main-afb-daemon.c +++ b/src/main-afb-daemon.c @@ -41,7 +41,6 @@ #endif #include "afb-args.h" -#include "afb-hswitch.h" #include "afb-apiset.h" #include "afb-autoset.h" #include "afb-api-so.h" @@ -49,8 +48,6 @@ # include "afb-api-dbus.h" #endif #include "afb-api-ws.h" -#include "afb-hsrv.h" -#include "afb-hreq.h" #include "afb-xreq.h" #include "afb-session.h" #include "verbose.h" @@ -65,6 +62,11 @@ #if WITH_SUPERVISION # include "afb-supervision.h" #endif +#if WITH_LIBMICROHTTPD +# include "afb-hsrv.h" +# include "afb-hreq.h" +# include "afb-hswitch.h" +#endif #include "process-name.h" #include "wrap-json.h" @@ -288,6 +290,7 @@ static void daemonize() | http server | Handles the HTTP server +--------------------------------------------------------- */ +#if WITH_LIBMICROHTTPD static int init_alias(void *closure, const char *spec) { struct afb_hsrv *hsrv = closure; @@ -396,6 +399,7 @@ static struct afb_hsrv *start_http_server() return hsrv; } +#endif /*--------------------------------------------------------- | execute_command @@ -695,12 +699,15 @@ static void start(int signum, void *arg) #endif *traceses = NULL, *traceglob = NULL; #endif - const char *workdir, *rootdir, *token, *rootapi; - struct json_object *settings; - struct afb_hsrv *hsrv; + const char *workdir = NULL, *rootdir = NULL, *token = NULL; + struct json_object *settings = NULL; int max_session_count, session_timeout, api_timeout; - int no_httpd, http_port; int rc; +#if WITH_LIBMICROHTTPD + const char *rootapi = NULL; + int no_httpd = 0, http_port = -1; + struct afb_hsrv *hsrv; +#endif afb_debug("start-entry"); @@ -710,14 +717,12 @@ static void start(int signum, void *arg) exit(1); } - settings = NULL; - no_httpd = 0; - http_port = -1; - rootapi = token = NULL; rc = wrap_json_unpack(main_config, "{" "ss ss s?s" "si si si" +#if WITH_LIBMICROHTTPD "s?b s?i s?s" +#endif #if WITH_AFB_HOOK #if !defined(REMOVE_LEGACY_TRACE) "s?s s?s" @@ -735,10 +740,11 @@ static void start(int signum, void *arg) "cntxtimeout", &session_timeout, "session-max", &max_session_count, +#if WITH_LIBMICROHTTPD "no-httpd", &no_httpd, "port", &http_port, "rootapi", &rootapi, - +#endif #if WITH_AFB_HOOK #if !defined(REMOVE_LEGACY_TRACE) "tracesvc", &tracesvc, @@ -779,6 +785,7 @@ static void start(int signum, void *arg) goto error; } +#if WITH_LIBMICROHTTPD /* setup HTTP */ if (!no_httpd) { if (http_port < 0) { @@ -795,6 +802,7 @@ static void start(int signum, void *arg) goto error; } } +#endif /* configure the daemon */ afb_export_set_config(settings); @@ -865,6 +873,7 @@ static void start(int signum, void *arg) #endif /* start the HTTP server */ +#if WITH_LIBMICROHTTPD afb_debug("start-http"); if (!no_httpd) { if (!afb_hreq_init_cookie(http_port, rootapi, session_timeout)) { @@ -876,6 +885,7 @@ static void start(int signum, void *arg) if (hsrv == NULL) goto error; } +#endif /* run the startup calls */ afb_debug("start-call"); |