From 18c83059ab98b0c01f3f1d5c206a3714a9090619 Mon Sep 17 00:00:00 2001 From: Markus Valentin Date: Fri, 8 Dec 2023 10:49:25 +0100 Subject: [PATCH] lib-http: Add http_server_init_auto() --- src/lib-http/http-server.c | 12 ++++++++++++ src/lib-http/http-server.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/lib-http/http-server.c b/src/lib-http/http-server.c index 66fa04192e..d0cdf3a57b 100644 --- a/src/lib-http/http-server.c +++ b/src/lib-http/http-server.c @@ -25,6 +25,18 @@ static struct event_category event_category_http_server = { * Server */ +int http_server_init_auto(struct event *event_parent, + struct http_server **server_r, const char **error_r) +{ + const struct http_server_settings *set; + if (settings_get(event_parent, &http_server_setting_parser_info, + 0, &set, error_r) < 0) + return -1; + *server_r = http_server_init(set, event_parent); + settings_free(set); + return 0; +} + void http_server_settings_init(pool_t pool, struct http_server_settings *set_r) { i_zero(set_r); diff --git a/src/lib-http/http-server.h b/src/lib-http/http-server.h index 99437caa6a..91412b570b 100644 --- a/src/lib-http/http-server.h +++ b/src/lib-http/http-server.h @@ -424,6 +424,8 @@ void http_server_resource_set_destroy_callback(struct http_server_resource *res, */ void http_server_settings_init(pool_t pool, struct http_server_settings *set_r); +int http_server_init_auto(struct event *event_parent, + struct http_server **server_r, const char **error_r); struct http_server *http_server_init(const struct http_server_settings *set, struct event *event_parent); void http_server_deinit(struct http_server **_server); -- 2.47.3