![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cHttpHeader.h>
Public Member Functions | |
ITERATE_t | get_HeadTagQty () const |
bool | HasHeadTag (HTTP_TAG_TYPE eTag) const |
cStringA | FindHeadTag (HTTP_TAG_TYPE eTag) const |
cTimeInt | FindHeadTagTime (HTTP_TAG_TYPE eTag) const |
int | FindHeadTagInt (HTTP_TAG_TYPE eTag) const |
ITERATE_t | AddHeadTag (HTTP_TAG_TYPE eTag, cStringA sVal) |
ITERATE_t | AddHeadTagTime (HTTP_TAG_TYPE eTag, cTimeInt tTime) |
ITERATE_t | AddHeadTagInt (HTTP_TAG_TYPE eTag, int iVal) |
HRESULT | ReadHeader (cStreamInput *pInp, OUT cStringA &sHeadVerb) |
UNITTEST_FRIEND (cHttpHeader) | |
Static Public Attributes | |
static const int | k_MaxTags = 256 |
Arbitrary max number of tags for a single request/response page. More... | |
Protected Member Functions | |
HRESULT | ReadHeadLine (const char *pData, StrLen_t iLen) |
HRESULT | WriteHeadTags (cStreamOutput *pClient) const |
cHttpHeader () noexcept | |
~cHttpHeader () | |
Protected Attributes | |
cArraySortStructHash< cHttpHeadTag > | m_aTags |
Tags in the HTTP header. More... | |
Friends | |
class | cHttpHeadTag |
Read/Parse/Write params/Tags for a HTTP Header. Similar to cIniMap. Common Base for Client request or Server response. Get these params from the client or the server. Do some extra parsing for the more common tags. First line of header is always special. HTTPVERB_TYPE: "GET ","POST ",etc (for client) or "HTTP/1.1 200 OK" (server response)
|
protectednoexcept |
|
protected |
ITERATE_t GrayLib::cHttpHeader::AddHeadTag | ( | HTTP_TAG_TYPE | eTag, |
cStringA | sVal | ||
) |
Add or replace a HTTP_TAG_TYPE.
ITERATE_t GrayLib::cHttpHeader::AddHeadTagInt | ( | HTTP_TAG_TYPE | eTag, |
int | iVal | ||
) |
ITERATE_t GrayLib::cHttpHeader::AddHeadTagTime | ( | HTTP_TAG_TYPE | eTag, |
cTimeInt | tTime | ||
) |
cStringA GrayLib::cHttpHeader::FindHeadTag | ( | HTTP_TAG_TYPE | eTag | ) | const |
If the header data has this tag, return its value.
int GrayLib::cHttpHeader::FindHeadTagInt | ( | HTTP_TAG_TYPE | eTag | ) | const |
cTimeInt GrayLib::cHttpHeader::FindHeadTagTime | ( | HTTP_TAG_TYPE | eTag | ) | const |
|
inline |
|
inline |
HRESULT GrayLib::cHttpHeader::ReadHeader | ( | cStreamInput * | pInp, |
OUT cStringA & | sHeadVerb | ||
) |
Parse/read the HTTP header from response. Ends with empty line = "\r\n\r\n" HTTP_CR may be from a client to server or server back to client.
Read/Parse a single special HTTP_TAG_TYPE from the header data. followed by HTTP_CR. e.g. "Tag-Name: Arguments\r\n" Add values to existing tags separated by commas. multi line tags are allowed if prefixed by spaces.
GrayLib::cHttpHeader::UNITTEST_FRIEND | ( | cHttpHeader | ) |
|
protected |
Write out all my header tags to pOut
|
friend |
|
static |
Arbitrary max number of tags for a single request/response page.
|
protected |
Tags in the HTTP header.