void VKURequestData::OnTransactionReadyToRead(HttpSession& httpSession, HttpTransaction& httpTransaction, int availableBodyLen) { AppLog("OnTransactionReadyToRead"); HttpResponse* pHttpResponse = httpTransaction.GetResponse(); if (pHttpResponse->GetHttpStatusCode() == HTTP_STATUS_OK) { HttpHeader* pHttpHeader = pHttpResponse->GetHeader(); if (pHttpHeader != null) { //String* tempHeaderString = pHttpHeader->GetRawHeaderN(); ByteBuffer* pBuffer = pHttpResponse->ReadBodyN(); String text(L"Read Body Length: "); text.Append(availableBodyLen); AppLog("len: %ls", text.GetPointer()); data.CopyFrom(*pBuffer); //delete tempHeaderString; delete pBuffer; } } return; }
void Chatting::OnTransactionReadyToRead( Tizen::Net::Http::HttpSession& httpSession, Tizen::Net::Http::HttpTransaction& httpTransaction, int availableBodyLen) { AppLog("OnTransactionReadyToRead"); HttpResponse* pHttpResponse = httpTransaction.GetResponse(); if (pHttpResponse->GetHttpStatusCode() == HTTP_STATUS_OK) { HttpHeader* pHttpHeader = pHttpResponse->GetHeader(); if (pHttpHeader != null) { String* tempHeaderString = pHttpHeader->GetRawHeaderN(); ByteBuffer* pBuffer = pHttpResponse->ReadBodyN(); AppLog((const char*)pBuffer->GetPointer()); String str((const char*) (pBuffer->GetPointer())); // IJsonValue* pJson = JsonParser::ParseN(*pBuffer); // // JsonObject *pObject = static_cast<JsonObject*>(pJson); // // JsonString *userName = new JsonString("username"); // IJsonValue *pValName = null; // // JsonString *dates = new JsonString("date"); // IJsonValue *pValDate = null; // // // pObject->GetValue(userName, pValName); // pObject->GetValue(dates,pValDate); // // // JsonString* pName = static_cast<JsonString*>(pValName); // JsonString* pDate= static_cast<JsonString*>(pValDate); // // String text(L"이름: "); // text.Append(*pName); // text.Append("\n날짜: "); // text.Append(*pDate); // String text(str); // text.Append(availableBodyLen); // __pEditArea->SetText(text); Draw(); delete tempHeaderString; delete pBuffer; } } }
void UserProfileForm::OnTransactionHeaderCompleted(HttpSession& httpSession, HttpTransaction& httpTransaction, int headerLen, bool rs) { HttpResponse* pHttpResponse = httpTransaction.GetResponse(); if(pHttpResponse == null) return; HttpHeader* pHttpHeader = pHttpResponse->GetHeader(); if(pHttpHeader != null) { String* tempHeaderString = pHttpHeader->GetRawHeaderN(); AppLog("HeaderString=%ls\n",tempHeaderString->GetPointer()); } AppLog("OnTransactionHeaderCompleted\n"); }
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(); }
void HttpThread::OnTransactionHeaderCompleted(HttpSession & httpSession, HttpTransaction & httpTransaction, int headerLen, bool bAuthRequired) { result r = E_SUCCESS; HttpResponse * pResponse = httpTransaction.GetResponse(); if ((r = GetLastResult()) != E_SUCCESS) { LOG(LWARNING, ("httpTransaction.GetResponse error", r)); httpSession.CancelTransaction(httpTransaction); httpSession.CloseTransaction(httpTransaction); m_callback.OnFinish(-1, m_begRange, m_endRange); return; } int const httpStatusCode = pResponse->GetHttpStatusCode(); // When we didn't ask for chunks, code should be 200 // When we asked for a chunk, code should be 206 bool const isChunk = !(m_begRange == 0 && m_endRange < 0); if ((isChunk && httpStatusCode != 206) || (!isChunk && httpStatusCode != 200)) { LOG(LWARNING, ("Http request to", m_url, " aborted with HTTP code", httpStatusCode)); httpSession.CancelTransaction(httpTransaction); r = httpSession.CloseTransaction(httpTransaction); m_callback.OnFinish(-4, m_begRange, m_endRange); LOG(LDEBUG, ("CloseTransaction result", r)); return; } else if (m_expectedSize > 0) { bool bGoodSize = false; // try to get content length from Content-Range header first HttpHeader * pHeader = pResponse->GetHeader(); LOG(LDEBUG, ("Header:", FromTizenString(*pHeader->GetRawHeaderN()))); IEnumerator * pValues = pHeader->GetFieldValuesN("Content-Range"); if (GetLastResult() == E_SUCCESS) { bGoodSize = true; pValues->MoveNext(); // strange, but works String const * pString = dynamic_cast<String const *>(pValues->GetCurrent()); if (pString->GetLength()) { int lastInd; pString->LastIndexOf ('/', pString->GetLength()-1, lastInd); int64_t value = -1; String tail; pString->SubString(lastInd + 1, tail); LOG(LDEBUG, ("tail value:",FromTizenString(tail))); LongLong::Parse(tail, value); if (value != m_expectedSize) { LOG(LWARNING, ("Http request to", m_url, "aborted - invalid Content-Range:", value, " expected:", m_expectedSize )); httpSession.CancelTransaction(httpTransaction); r = httpSession.CloseTransaction(httpTransaction); m_callback.OnFinish(-2, m_begRange, m_endRange); LOG(LDEBUG, ("CloseTransaction result", r)); } } } else { pValues = pHeader->GetFieldValuesN("Content-Length"); if (GetLastResult() == E_SUCCESS) { bGoodSize = true; pValues->MoveNext(); // strange, but works String const * pString = dynamic_cast<String const *>(pValues->GetCurrent()); if (pString) { int64_t value = -1; LongLong::Parse(*pString, value); if (value != m_expectedSize) { LOG(LWARNING, ("Http request to", m_url, "aborted - invalid Content-Length:", value, " expected:", m_expectedSize)); httpSession.CancelTransaction(httpTransaction); r = httpSession.CloseTransaction(httpTransaction); m_callback.OnFinish(-2, m_begRange, m_endRange); LOG(LDEBUG, ("CloseTransaction result", r)); } } } } if (!bGoodSize) { LOG(LWARNING, ("Http request to", m_url, "aborted, server didn't send any valid file size")); httpSession.CancelTransaction(httpTransaction); r = httpSession.CloseTransaction(httpTransaction); m_callback.OnFinish(-2, m_begRange, m_endRange); LOG(LDEBUG, ("CloseTransaction result", r)); } } }