diff --git a/src/lib-http/http-client-private.h b/src/lib-http/http-client-private.h index d1b6a193d3..ac6b250ab2 100644 --- a/src/lib-http/http-client-private.h +++ b/src/lib-http/http-client-private.h @@ -60,6 +60,7 @@ struct http_client_request { pool_t pool; unsigned int refcount; const char *label; + unsigned int id; struct http_client_request *prev, *next; @@ -445,7 +446,7 @@ static inline const char * http_client_request_label(struct http_client_request *req) { if (req->label == NULL) { - return t_strdup_printf("[%s %s%s]", + return t_strdup_printf("[Req%u: %s %s%s]", req->id, req->method, http_url_create(&req->origin_url), req->target); } return req->label; diff --git a/src/lib-http/http-client-request.c b/src/lib-http/http-client-request.c index ad28ebe967..e62ac7d7e5 100644 --- a/src/lib-http/http-client-request.c +++ b/src/lib-http/http-client-request.c @@ -63,6 +63,7 @@ static struct http_client_request * http_client_request_new(struct http_client *client, const char *method, http_client_request_callback_t *callback, void *context) { + static unsigned int id_counter = 0; pool_t pool; struct http_client_request *req; @@ -71,6 +72,7 @@ http_client_request_new(struct http_client *client, const char *method, req->pool = pool; req->refcount = 1; req->client = client; + req->id = ++id_counter; req->method = p_strdup(pool, method); req->callback = callback; req->context = context; @@ -485,7 +487,7 @@ static void http_client_request_do_submit(struct http_client_request *req) req->authority = p_strdup(req->pool, authority); /* debug label */ - req->label = p_strdup_printf(req->pool, "[%s %s]", req->method, target); + req->label = p_strdup_printf(req->pool, "[Req%u: %s %s]", req->id, req->method, target); /* update request target */ if (req->connect_tunnel || have_proxy)