Я написал процедуру, которая использует функцию HttpDeclarePush()
из Httpapi.dll
для использования запросов сервера.
Я передаю параметры, как показано ниже, но я получаю ошибку 87 (ERROR_INVALID_PARAMETER
) при вызове HttpDeclarePush()
:
const HTTPAPI_VERSION version = HTTPAPI_VERSION_2;
const auto request_queue_handle = reinterpret_cast<void*>(HttpCreateRequestQueue(version, nullptr, nullptr, 0, &p_req_queue_handle));
const auto verb = HttpVerbGET;
const auto http_path = reinterpret_cast<const wchar_t*>("D:\Some_Path_From_Where_Resource_File_Will_Be_Pushed_To_Client\polyfills.0d74a55d0dbab6b8c32c.js");
const auto query = "polyfills.0d74a55d0dbab6b8c32c.js";
HTTP_REQUEST_HEADERS* headers = nullptr; //pHttpContext->GetRequest()->GetHeader; //lpOutBuffer;
const auto is_success = HttpDeclarePush(p_req_queue_handle, request_id, verb, http_path, query, headers);
Я не понимаю, какой параметр является потенциально неправильным. Кто-нибудь может мне помочь?
РЕДАКТИРОВАТЬ: Вот модифицированный код, как вы упомянули:
const auto request_queue_handle = HttpCreateRequestQueue(version, nullptr, nullptr, 0, &p_req_queue_handle);
const auto verb = HttpVerbGET;
const auto http_path = L"/polyfills.0d74a55d0dbab6b8c32c.js";
const auto query = nullptr;
HTTP_REQUEST_HEADERS* headers = nullptr; //pHttpContext->GetRequest()->GetHeader; //lpOutBuffer;
const auto is_success = HttpDeclarePush(p_req_queue_handle, request_id, verb, http_path, query, headers);
Мне удалось преодолеть предыдущую ошибку, но теперь я получаю ошибку 1229 (ERROR_CONNECTION_INVALID
) в HttpDeclarePush(p_req_queue_handle, request_id, verb, http_path, query, headers);
Я проверил файл JS, который нужно нажать. Это очень доступно в https://localhost/polyfills.0d74a55d0dbab6b8c32c.js
.
Любая помощь по этой ошибке? Это то, что мне нужно предоставить несколько заголовков в HTTP_REQUEST_HEADERS* headers
? Я пробовал что-то вроде pHttpContext->GetRequest()->GetHeader;
, но я не думаю, что это правильный способ сделать это.
Простите, я новичок в VC ++.