2 #ifndef _YI_HTTP_RESPONSE_H_ 3 #define _YI_HTTP_RESPONSE_H_ 52 static size_t ReceiveResponse(
char *pBuffer,
size_t nSize,
size_t nNumBytes,
void *pContext);
53 static std::shared_ptr<CYIHTTPResponse>
CreateFromBytes(
char *pHeaders,
size_t pHeadersSize,
char *pResponse,
size_t uResponseSize);
58 void Reserve(uint32_t nSize)
const;
105 const std::map<CYIString, CYIString>
GetHeaders()
const;
197 void Process(
const std::shared_ptr<CYIHTTPRequest> &pRequest);
211 void AppendData(
char *pBuffer,
size_t bufferSize);
213 void ParseHeader(
const CYIString &rHeader);
216 void ParseCacheControlValue(
const CYIString &rValue);
217 void ParsePragmaValue(
const CYIString &rValue);
218 void ParseExpiresValue(
const CYIString &rValue);
219 void ParseContentType(
const CYIString &rValue);
220 void ParseContentLength(
const CYIString &rValue);
226 mutable int32_t m_nHeaderHTTPStatusCode;
229 mutable std::vector<char> m_responseBuffer;
232 const char *m_HTTPResponseBody;
234 int32_t m_nRequestId;
236 int32_t m_nMaxAgeInSeconds;
237 int32_t m_nExpiresInSeconds;
238 bool m_bShouldBeStored;
241 uint32_t m_uContentLength;
253 #endif // _YI_HTTP_RESPONSE_H_
void SetContentType(CONTENT_TYPE eType)
void SetResponseDate(const CYIString &rResponseDate)
Definition: YiHTTPResponse.h:36
static std::shared_ptr< CYIHTTPResponse > CreateFromBytes(char *pHeaders, size_t pHeadersSize, char *pResponse, size_t uResponseSize)
const CYIString & GetETagValue() const
CACHE_CONTROL_TYPE GetCacheControlType() const
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
Definition: YiHTTPResponse.h:43
const CYIString & GetResponseDate() const
Contains information required to configure and perform a HTTP request.
Definition: YiHTTPRequest.h:34
const std::vector< char > & GetRawData() const
Definition: YiHTTPResponse.h:44
void SetMaxAgeInSeconds(int32_t nMaxAge)
int32_t GetMaxAgeInSeconds() const
The base class for an object accessible from script source code.
Definition: YiScriptableObject.h:28
const CYIString & GetContentEncoding() const
Definition: YiRecursiveMutex.h:15
void SetShouldStoreResponse(bool bStoreResponse)
Definition: YiHTTPResponse.h:38
const CYIString & GetHeader() const
void Process(const std::shared_ptr< CYIHTTPRequest > &pRequest)
CONTENT_TYPE
Definition: YiHTTPResponse.h:27
int32_t GetExpiresInSeconds() const
Definition: YiHTTPResponse.h:30
void SetCacheControlType(CACHE_CONTROL_TYPE eType)
Definition: YiHTTPResponse.h:46
void SetETagValue(const CYIString &rETag)
An HTTP response class which includes the header and body portions of the response.
Definition: YiHTTPResponse.h:24
bool ShouldBeStored() const
void SetContentEncoding(const CYIString &rContentEncoding)
virtual ~CYIHTTPResponse()
Definition: YiHTTPResponse.h:45
Definition: YiHTTPResponse.h:35
CACHE_CONTROL_TYPE
Definition: YiHTTPResponse.h:33
bool IsHeuristicallyExpired() const
Definition: YiHTTPResponse.h:37
void SetRequestID(const int32_t id)
STATUS
Definition: YiHTTPResponse.h:41
A class used to encapsulate an URL.
Definition: YiUrl.h:24
CONTENT_TYPE GetContentType() const
CYIString GetBody() const
const std::map< CYIString, CYIString > GetHeaders() const
Definition: YiHTTPResponse.h:29
int32_t GetHeaderHTTPStatusCode() const
uint32_t GetContentLength() const
static size_t ReceiveResponse(char *pBuffer, size_t nSize, size_t nNumBytes, void *pContext)
const CYIString & GetLastModifiedDate() const
void SetExpiresInSeconds(int32_t nExpires)
void SetLastModifiedDate(const CYIString &rLastModifiedDate)
void Reserve(uint32_t nSize) const
void SetStatus(STATUS eStatus)