NCBI C++ ToolKit
|
Search Toolkit Book for CCgiCookie
#include <cgi/ncbicgi.hpp>
Classes | |
struct | PLessCPtr |
Public Types | |
enum | EWriteMethod { eHTTPResponse , eHTTPRequest } |
Whether the cookie is sent as a part of HTTP request or HTTP response. More... | |
enum | EInvalidFlag { fValid = 0 , fInvalid_Name = 1<<0 , fInvalid_Value = 1<<1 , fInvalid_Any = fInvalid_Name | fInvalid_Value } |
enum | ECookieEncoding { eCookieEnc_Url , eCookieEnc_Quote } |
typedef const CCgiCookie * | TCPtr |
Predicate for the cookie comparison. More... | |
typedef int | TInvalidFlag |
Public Member Functions | |
CCgiCookie (const CCgiCookie &cookie) | |
Copy constructor. More... | |
CCgiCookie (const string &name, const string &value, const string &domain=NcbiEmptyString, const string &path=NcbiEmptyString) | |
Throw the "invalid_argument" if "name" or "value" have invalid format. More... | |
const string & | GetName (void) const |
The cookie name cannot be changed during its whole timelife. More... | |
CNcbiOstream & | Write (CNcbiOstream &os, EWriteMethod wmethod=eHTTPResponse, EUrlEncode flag=eUrlEncode_SkipMarkChars) const |
Compose and write to output stream "os": More... | |
void | Reset (void) |
Reset everything but name to default state like CCgiCookie(m_Name, "") More... | |
void | CopyAttributes (const CCgiCookie &cookie) |
Set all attribute values(but name!) to those from "cookie". More... | |
void | SetValue (const string &str) |
All SetXXX(const string&) methods beneath: More... | |
void | SetDomain (const string &str) |
void | SetPath (const string &str) |
void | SetExpDate (const tm &exp_date) |
void | SetExpTime (const CTime &exp_time) |
void | SetSecure (bool secure) |
void | SetHttpOnly (bool http_only) |
const string & | GetValue (void) const |
All "const string& GetXXX(...)" methods beneath return reference to "NcbiEmptyString" if the requested attributre is not set. More... | |
const string & | GetDomain (void) const |
const string & | GetPath (void) const |
string | GetExpDate (void) const |
Day, dd-Mon-yyyy hh:mm:ss GMT (return empty string if not set) More... | |
bool | GetExpDate (tm *exp_date) const |
If exp.date is not set then return FALSE and dont assign "*exp_date". More... | |
bool | GetSecure (void) const |
bool | GetHttpOnly (void) const |
bool | operator< (const CCgiCookie &cookie) const |
Compare two cookies. More... | |
TInvalidFlag | IsInvalid (void) const |
void | SetInvalid (TInvalidFlag flag) |
void | ResetInvalid (TInvalidFlag flag) |
Private Types | |
enum | EFieldType { eField_Name , eField_Value , eField_Other } |
Private Member Functions | |
CCgiCookie & | operator= (const CCgiCookie &) |
Static Private Member Functions | |
static void | x_CheckField (const string &str, EFieldType ftype, const char *banned_symbols, const string *cookie_name=NULL) |
static string | x_EncodeCookie (const string &str, EFieldType ftype, NStr::EUrlEncode flag) |
static bool | x_GetString (string *str, const string &val) |
Private Attributes | |
string | m_Name |
string | m_Value |
string | m_Domain |
string | m_Path |
tm | m_Expires |
bool | m_Secure |
bool | m_HttpOnly |
TInvalidFlag | m_InvalidFlag |
Friends | |
class | CCgiCookies |