72 lines
1.4 KiB
C++
72 lines
1.4 KiB
C++
|
|
#include "../../include/internet/XHttpRequest.h"
|
|
|
|
#define WIN32_LEAN_AND_MEAN
|
|
#include <windows.h>
|
|
|
|
|
|
XHttpRequest::XHttpRequest( const XHttpURL& URL )
|
|
: m_URL( URL )
|
|
{
|
|
if( m_URL.Extra().empty() == false )
|
|
{
|
|
SetData( m_URL.Extra().c_str(), m_URL.Extra().size() * sizeof( std::wstring::value_type ) );
|
|
}
|
|
}
|
|
|
|
XHttpRequest::~XHttpRequest()
|
|
{
|
|
}
|
|
|
|
const XHttpURL& XHttpRequest::URL() const
|
|
{
|
|
return m_URL;
|
|
}
|
|
|
|
void XHttpRequest::Referer( const std::wstring& strReferer )
|
|
{
|
|
m_strReferer = strReferer;
|
|
}
|
|
|
|
const std::wstring& XHttpRequest::Referer() const
|
|
{
|
|
return m_strReferer;
|
|
}
|
|
|
|
void XHttpRequest::AddHeader( const std::wstring& strName, const std::wstring& strValue )
|
|
{
|
|
m_mapHeader[strName] = strValue;
|
|
}
|
|
|
|
std::wstring XHttpRequest::GetHeader() const
|
|
{
|
|
std::wstring strHeader;
|
|
|
|
HEADER_MAP::const_iterator pos = m_mapHeader.begin();
|
|
HEADER_MAP::const_iterator end = m_mapHeader.end();
|
|
|
|
for( ; pos != end; ++pos )
|
|
{
|
|
strHeader += pos->first + L": " + pos->second + L"\r\n";
|
|
}
|
|
|
|
return strHeader;
|
|
}
|
|
|
|
void XHttpRequest::Param( const XHttpRequestParam* pParam )
|
|
{
|
|
std::wstring strParam = pParam->Build();
|
|
size_t nParamSize = strParam.size() * sizeof( std::wstring::value_type );
|
|
SetData( strParam.c_str(), nParamSize );
|
|
}
|
|
|
|
void XHttpRequest::SetData( const void* pData, size_t nSize )
|
|
{
|
|
m_Buffer.Copy( pData, nSize );
|
|
}
|
|
|
|
const XHttpBuffer& XHttpRequest::GetData() const
|
|
{
|
|
return m_Buffer;
|
|
}
|