-static int init(struct afb_hsrv *hsrv, AFB_config * config)
-{
- int idx;
-
- if (!afb_hsrv_add_handler(hsrv, config->rootapi, afb_hswitch_websocket_switch, NULL, 20))
- return 0;
-
- if (!afb_hsrv_add_handler(hsrv, config->rootapi, afb_hswitch_apis, NULL, 10))
- return 0;
-
- for (idx = 0; config->aliasdir[idx].url != NULL; idx++)
- if (!afb_hsrv_add_alias (hsrv, config->aliasdir[idx].url, config->aliasdir[idx].path, 0))
- return 0;
-
- if (!afb_hsrv_add_alias(hsrv, "", config->rootdir, -10))
- return 0;
-
- if (!afb_hsrv_add_handler(hsrv, config->rootbase, afb_hswitch_one_page_api_redirect, NULL, -20))
- return 0;
-
- return 1;
-}
-
-static struct afb_hsrv *start(AFB_config * config)
-{
- int rc;
- struct afb_hsrv *hsrv;
-
- hsrv = afb_hsrv_create();
- if (hsrv == NULL) {
- fprintf(stderr, "memory allocation failure\n");
- return NULL;
- }
-
- if (!afb_hsrv_set_cache_timeout(hsrv, config->cacheTimeout)
- || !init(hsrv, config)) {
- fprintf (stderr, "Error: initialisation of httpd failed");
- afb_hsrv_put(hsrv);
- return NULL;
- }
-
- if (verbosity) {
- fprintf (stderr, "AFB:notice Waiting port=%d rootdir=%s\n", config->httpdPort, config->rootdir);
- fprintf (stderr, "AFB:notice Browser URL= http:/*localhost:%d\n", config->httpdPort);
- }
-
- rc = afb_hsrv_start(hsrv, (uint16_t) config->httpdPort, 15);
- if (!rc) {
- fprintf (stderr, "Error: starting of httpd failed");
- afb_hsrv_put(hsrv);
- return NULL;
- }
-
- return hsrv;
-}
-
-