| 2185 | } |
| 2186 | |
| 2187 | WebRequest::Result WebRequestWinHTTP::SendRequest() |
| 2188 | { |
| 2189 | SmallVector<char, 1000> allHeaders; |
| 2190 | for (auto header = _headers.begin(); header != _headers.end(); ++header) { |
| 2191 | allHeaders.append(header->first.begin(), header->first.end()); |
| 2192 | allHeaders.push_back(':'); |
| 2193 | allHeaders.push_back(' '); |
| 2194 | allHeaders.append(header->second.begin(), header->second.end()); |
| 2195 | allHeaders.push_back('\n'); |
| 2196 | } |
| 2197 | |
| 2198 | if (_dataSize != 0) { |
| 2199 | _dataWritten = 0; |
| 2200 | } |
| 2201 | |
| 2202 | auto allHeadersW = Utf8::ToUtf16(allHeaders.data(), std::int32_t(allHeaders.size())); |
| 2203 | if (!WinHTTP::WinHttpSendRequest(_request, allHeadersW, DWORD(allHeadersW.size()), nullptr, 0, DWORD(_dataSize), DWORD_PTR(this))) { |
| 2204 | return FailWithLastError("Sending request"_s); |
| 2205 | } |
| 2206 | |
| 2207 | return Result::Ok(); |
| 2208 | } |
| 2209 | |
| 2210 | void WebRequestWinHTTP::DoCancel() |
| 2211 | { |