merge with master
[framework/osp/net.git] / src / http / FNetHttp_HttpRequestImpl.cpp
index 8af311c..1cb1196 100644 (file)
@@ -623,6 +623,48 @@ _HttpRequestImpl::GetNextDataN(int recommendedSize)
 }
 
 result
+_HttpRequestImpl::Set(_HttpRequestImpl* pHttpRequestImpl)
+{
+       result r = E_SUCCESS;
+
+       HttpHeader* pHttpHeader = null;
+       HttpHeader* pSrcHttpHeader = null;
+
+       //Sets member variables.
+       __method = pHttpRequestImpl->GetMethod();
+       pHttpRequestImpl->GetCustomMethod(__customMethodName);
+       __methodName = pHttpRequestImpl->GetMethodName();
+       __httpVersion = pHttpRequestImpl->GetVersion();
+       pHttpRequestImpl->GetUri(__uri);
+       __cookieValue = pHttpRequestImpl->GetCookie();
+       __encoding = pHttpRequestImpl->GetAcceptEncoding();
+       __pIHttpEntity = pHttpRequestImpl->GetEntity();
+
+       pHttpHeader = pHttpRequestImpl->GetHeader();
+
+       //Sets request buffer. (message queue).
+       ByteBuffer* pBuffer = null;
+       do
+       {
+               pBuffer = pHttpRequestImpl->ReadBodyN();
+               if (pBuffer)
+               {
+                       this->WriteBody(*pBuffer);
+               }
+       }
+       while(pBuffer != null);
+
+       // Sets the headers.
+       pSrcHttpHeader = new (std::nothrow) HttpHeader(pHttpHeader);
+       SysTryReturn(NID_NET_HTTP, pSrcHttpHeader != null, null, E_OUT_OF_MEMORY,
+                               "[E_OUT_OF_MEMORY] Memory allocation failed.");
+
+       __pHttpRequest->_pHeader = pSrcHttpHeader;
+
+       return r;
+}
+
+result
 _HttpRequestImpl::SetCookie(const Tizen::Base::String& cookieString)
 {
        result r = E_SUCCESS;