11/*
2- * Copyright (C) 2019-2021 HERE Europe B.V.
2+ * Copyright (C) 2019-2025 HERE Europe B.V.
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
@@ -619,7 +619,10 @@ void NetworkWinHttp::RequestCallback(HINTERNET, DWORD_PTR context, DWORD status,
619619 return ;
620620 }
621621
622- RequestData* handle = reinterpret_cast <RequestData*>(context);
622+ auto * handle = reinterpret_cast <RequestData*>(context);
623+
624+ logging::ScopedLogContext scope (handle->log_context );
625+
623626 if (!handle->connection_data || !handle->result_data ) {
624627 OLP_SDK_LOG_WARNING (kLogTag , " RequestCallback to inactive handle, id="
625628 << handle->request_id );
@@ -632,8 +635,7 @@ void NetworkWinHttp::RequestCallback(HINTERNET, DWORD_PTR context, DWORD status,
632635
633636 if (status == WINHTTP_CALLBACK_STATUS_REQUEST_ERROR) {
634637 // Error has occurred
635- WINHTTP_ASYNC_RESULT* result =
636- reinterpret_cast <WINHTTP_ASYNC_RESULT*>(status_info);
638+ auto * result = reinterpret_cast <WINHTTP_ASYNC_RESULT*>(status_info);
637639 request_result.status = result->dwError ;
638640 request_result.error = true ;
639641
@@ -1013,14 +1015,16 @@ NetworkWinHttp::RequestData* NetworkWinHttp::GetHandle(
10131015 std::shared_ptr<std::ostream> payload, const NetworkRequest& request) {
10141016 std::unique_lock<std::recursive_mutex> lock_guard (mutex_);
10151017
1016- auto it =
1017- std::find_if (http_requests_.begin (), http_requests_.end (),
1018- [&](const RequestData& request) { return !request.in_use ; });
1019- if (it != http_requests_.end ()) {
1020- *it = std::move (RequestData (this , id, connection, callback, header_callback,
1021- data_callback, payload, request));
1022- it->in_use = true ;
1023- return &(*it);
1018+ auto request_data_it = std::find_if (
1019+ http_requests_.begin (), http_requests_.end (),
1020+ [&](const RequestData& request_data) { return !request_data.in_use ; });
1021+ if (request_data_it != http_requests_.end ()) {
1022+ *request_data_it =
1023+ RequestData (this , id, std::move (connection), std::move (callback),
1024+ std::move (header_callback), std::move (data_callback),
1025+ std::move (payload), request, logging::GetContext ());
1026+ request_data_it->in_use = true ;
1027+ return &(*request_data_it);
10241028 }
10251029 return nullptr ;
10261030}
@@ -1073,23 +1077,26 @@ NetworkWinHttp::RequestData::RequestData(
10731077 NetworkWinHttp* self, RequestId id,
10741078 std::shared_ptr<ConnectionData> connection, Callback callback,
10751079 HeaderCallback header_callback, DataCallback data_callback,
1076- std::shared_ptr<std::ostream> payload, const NetworkRequest& request)
1080+ std::shared_ptr<std::ostream> payload, const NetworkRequest& request,
1081+ std::shared_ptr<const logging::LogContext> context)
10771082 : self(self),
10781083 connection_data (std::move(connection)),
1079- result_data(new ResultData(id, callback, std::move(payload))),
1084+ result_data(std::make_shared<ResultData>(id, std::move(callback),
1085+ std::move(payload))),
10801086 body(request.GetBody()),
10811087 header_callback(std::move(header_callback)),
10821088 data_callback(std::move(data_callback)),
1083- http_request(NULL ),
1089+ http_request(nullptr ),
10841090 request_id(id),
10851091 ignore_data(request.GetVerb() == NetworkRequest::HttpVerb::HEAD),
10861092 no_compression(false ),
10871093 uncompress(false ),
1088- in_use(false ) {}
1094+ in_use(false ),
1095+ log_context(std::move(context)) {}
10891096
10901097NetworkWinHttp::RequestData::RequestData ()
10911098 : self(nullptr ),
1092- http_request(NULL ),
1099+ http_request(nullptr ),
10931100 request_id(static_cast <RequestId>(RequestIdConstants::RequestIdInvalid)),
10941101 ignore_data(),
10951102 no_compression(false ),
@@ -1099,7 +1106,7 @@ NetworkWinHttp::RequestData::RequestData()
10991106NetworkWinHttp::RequestData::~RequestData () {
11001107 if (http_request) {
11011108 WinHttpCloseHandle (http_request);
1102- http_request = NULL ;
1109+ http_request = nullptr ;
11031110 }
11041111}
11051112
0 commit comments