void HttpThread::OnTransactionCompleted(HttpSession & /*httpSession*/, HttpTransaction & httpTransaction) { HttpResponse * pResponse = httpTransaction.GetResponse(); if (pResponse->GetHttpStatusCode() == HTTP_STATUS_OK || pResponse->GetHttpStatusCode() == HTTP_STATUS_PARTIAL_CONTENT) { m_callback.OnFinish(200, m_begRange, m_endRange); } else { LOG(LWARNING, ("Download has finished with status code:", pResponse->GetHttpStatusCode(), " and text:", FromTizenString(pResponse->GetStatusText() ))); m_callback.OnFinish(-100, m_begRange, m_endRange); } }
void HttpThread::OnHttpDownloadInProgress(HttpSession & /*httpSession*/, Tizen::Net::Http::HttpTransaction & httpTransaction, int64_t currentLength, int64_t totalLength) { HttpResponse * pResponse = httpTransaction.GetResponse(); if (pResponse->GetHttpStatusCode() == HTTP_STATUS_OK || pResponse->GetHttpStatusCode() == HTTP_STATUS_PARTIAL_CONTENT) { ByteBuffer * pBuffer = 0; pBuffer = pResponse->ReadBodyN(); int const chunkSize = pBuffer->GetLimit(); m_downloadedBytes += chunkSize; m_callback.OnWrite(m_begRange + m_downloadedBytes - chunkSize, pBuffer->GetPointer(), chunkSize); delete pBuffer; } else LOG(LERROR, ("OnHttpDownloadInProgress ERROR", FromTizenString(pResponse->GetStatusText()))); }
void ProjectGiraffeTab1::OnTransactionReadyToRead (HttpSession &httpSession, HttpTransaction &httpTransaction, int availableBodyLen) { HttpResponse* pHttpResponse = httpTransaction.GetResponse(); HttpHeader* pHttpHeader = null; AppLog("Checking HTTP Status Code"); if (pHttpResponse->GetHttpStatusCode() == HTTP_STATUS_OK) { // MessageBox msgBox; // msgBox.Construct(L"HTTP STATUS", L"HTTP Request OK", MSGBOX_STYLE_NONE, 3000); // int modalresult = 0; // msgBox.ShowAndWait(modalresult); ByteBuffer* pBody = null; String statusText = pHttpResponse->GetStatusText(); String version = pHttpResponse->GetVersion(); pHttpHeader = pHttpResponse->GetHeader(); pBody = pHttpResponse->ReadBodyN(); //delete pBody; //Parses from ByteBuffer IJsonValue* pValue = JsonParser::ParseN(*pBody); AppLog("Received HTTP response."); AppLog("Before traverse %d", _tableView->GetItemCount()); _pJsonKeyList->RemoveAll(true); _pValueList->RemoveAll(true); _items->RemoveAll(true); // Populate the panel TraverseFunction(pValue); AppLog("After traverse"); //clean up allocated jsonValues if (pValue->GetType() == JSON_TYPE_OBJECT) { // Converts the pValue to JsonObject JsonObject* pObject = static_cast< JsonObject* >(pValue); pObject->RemoveAll(true); } else if (pValue->GetType() == JSON_TYPE_ARRAY) { // Converts the pValue to JsonArray JsonArray* pArray = static_cast< JsonArray* >(pValue); pArray->RemoveAll(true); } delete pBody; delete pValue; _tableView->ScrollToItem(0); }else{ AppLog("HTTP Status not OK"); } //Remove load icon here. //_loadingPopupThread->Quit(); //_loadingPopupThread->Join(); }