MCPcopy Create free account
hub / github.com/defold/defold / HttpWriteHeaders

Function HttpWriteHeaders

engine/script/src/http_service.cpp:179–209  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177 }
178
179 dmHttpClient::Result HttpWriteHeaders(dmHttpClient::HResponse response, void* user_data)
180 {
181 Worker* worker = (Worker*) user_data;
182 char* headers = 0;
183 if (worker->m_Request->m_HeadersLength > 0) {
184 headers = (char*) malloc(worker->m_Request->m_HeadersLength);
185 // NOTE: We must copy the buffer as retry might happen
186 // and dmStrTok is destructive
187 // We don't know the actual size inadvance, hence the malloc()
188 memcpy(headers, (char*) worker->m_Request->m_Headers, worker->m_Request->m_HeadersLength);
189 headers[worker->m_Request->m_HeadersLength-1] = '\0';
190
191 char* s, *last;
192 s = dmStrTok(headers, "\n", &last);
193 while (s) {
194 char* colon = strchr(s, ':');
195 *colon = '\0';
196 dmHttpClient::Result r = dmHttpClient::WriteHeader(response, s, colon + 1);
197 if (r != dmHttpClient::RESULT_OK) {
198 free(headers);
199 return r;
200 }
201 *colon = ':';
202 s = dmStrTok(0, "\n", &last);
203 }
204
205 }
206
207 free(headers);
208 return dmHttpClient::RESULT_OK;
209 }
210
211 static void MessageDestroyCallback(dmMessage::Message* message)
212 {

Callers

nothing calls this directly

Calls 4

mallocFunction · 0.85
dmStrTokFunction · 0.85
WriteHeaderFunction · 0.85
freeFunction · 0.85

Tested by

no test coverage detected