From 7b6e14ce5e787be0795f0d552ee771be2c8e9ca5 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 22 Apr 2021 20:27:45 +0300 Subject: [PATCH] lib-http: http-client-request - Preserve global events' reason_code in request events Since HTTP requests are asynchronous, it's possible that the global events go away before the HTTP request is finished. This way the reason_code will be preserved in http_request_finished event. --- src/lib-http/http-client-request.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib-http/http-client-request.c b/src/lib-http/http-client-request.c index 0a471f7f5d..8453294cae 100644 --- a/src/lib-http/http-client-request.c +++ b/src/lib-http/http-client-request.c @@ -119,6 +119,8 @@ http_client_request_new(struct http_client *client, const char *method, req->context = context; req->date = (time_t)-1; req->event = event_create(client->event); + event_strlist_copy_recursive(req->event, event_get_global(), + EVENT_REASON_CODE); /* Default to client-wide settings: */ req->max_attempts = client->set.max_attempts; @@ -242,6 +244,8 @@ void http_client_request_set_event(struct http_client_request *req, event_unref(&req->event); req->event = event_create(event); event_set_forced_debug(req->event, req->client->set.debug); + event_strlist_copy_recursive(req->event, event_get_global(), + EVENT_REASON_CODE); http_client_request_update_event(req); } -- 2.47.3