| 157 | } |
| 158 | |
| 159 | dmHttpClient::Result HttpWrite(dmHttpClient::HResponse response, uint32_t offset, uint32_t size, void* user_data) |
| 160 | { |
| 161 | Worker* worker = (Worker*) user_data; |
| 162 | uint8_t* request = (uint8_t*)worker->m_Request->m_Request; |
| 163 | uint32_t request_len = dmMath::Min(worker->m_Request->m_RequestLength - offset, size); |
| 164 | |
| 165 | dmHttpClient::Result res_write = dmHttpClient::Write(response, (const void*) &request[offset], request_len); |
| 166 | |
| 167 | if (res_write == dmHttpClient::RESULT_OK && worker->m_ReportProgress && size > 0) |
| 168 | { |
| 169 | assert(worker->m_Service->m_ReportProgressCallback); |
| 170 | dmHttpDDF::HttpRequestProgress progress = {}; |
| 171 | progress.m_BytesSent = offset + size; |
| 172 | progress.m_BytesTotal = worker->m_Request->m_RequestLength; |
| 173 | worker->m_Service->m_ReportProgressCallback(&progress, &worker->m_CurrentRequesterURL, worker->m_ResponseUserData2); |
| 174 | } |
| 175 | |
| 176 | return res_write; |
| 177 | } |
| 178 | |
| 179 | dmHttpClient::Result HttpWriteHeaders(dmHttpClient::HResponse response, void* user_data) |
| 180 | { |