MCPcopy Create free account
hub / github.com/axmolengine/axmol / finishResponse

Method finishResponse

core/network/HttpClient.cpp:444–467  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

442}
443
444void HttpClient::finishResponse(HttpResponse* response)
445{
446 auto request = response->getHttpRequest();
447 auto syncState = request->getSyncState();
448
449 if (_cookie)
450 {
451 auto cookieRange = response->getResponseHeaders().equal_range("set-cookie");
452 for (auto cookieIt = cookieRange.first; cookieIt != cookieRange.second; ++cookieIt)
453 _cookie->updateOrAddCookie(cookieIt->second, response->_requestUri);
454 }
455
456 if (!syncState)
457 {
458 if (_dispatchOnWorkThread || std::this_thread::get_id() == Director::getInstance()->getAxmolThreadId())
459 invokeResposneCallbackAndRelease(response);
460 else
461 _finishedResponseQueue.emplace_back(response);
462 }
463 else
464 {
465 syncState->set_value(response);
466 }
467}
468
469void HttpClient::invokeResposneCallbackAndRelease(HttpResponse* response)
470{

Callers

nothing calls this directly

Calls 6

getInstanceFunction · 0.85
getHttpRequestMethod · 0.80
updateOrAddCookieMethod · 0.80
equal_rangeMethod · 0.45
emplace_backMethod · 0.45
set_valueMethod · 0.45

Tested by

no test coverage detected