cgicc: cgicc::HTTPCookie Class Reference

# cgicc::HTTPCookie Class Reference

An HTTP cookie. More...

`#include <cgicc/HTTPCookie.h>`

Inheritance diagram for cgicc::HTTPCookie:

List of all members.

## Public Member Functions
Constructors and Destructor
| HTTPCookie ()
| Default Constructor.
| HTTPCookie (const std::string &name, const std::string &value)
| Create a new HTTPCookie.
| HTTPCookie (const std::string &name, const std::string &value, const std::string &comment, const std::string &domain, unsigned long maxAge, const std::string &path, bool secure)
| Create a new fully-spefified HTTPCookie.
| HTTPCookie (const HTTPCookie &cookie)
| Copy constructor.
virtual | ~HTTPCookie ()
| Destructor.
Overloaded Operators
bool | operator== (const HTTPCookie &cookie) const
| Compare two HTTPCookies for equality.
bool | operator!= (const HTTPCookie &cookie) const
| Compare two HTTPCookies for inequality.
Accessor Methods
void | remove ()
| Mark this cookie as secure or unsecure.
void | setRemoved (bool removed)
| Mark this cookie as secure or unsecure.
bool | isRemoved () const
| Determine if this is a removed cookie.
| HTTPCookie (const std::string &name, const std::string &domain, const std::string &path, bool secure)
| Create a new partially-spefified HTTPCookie for deletion.
std::string | getName () const
| Get the name of this cookie.
std::string | getValue () const
| Get the value of this cookie.
std::string | getComment () const
| Get the comment of this cookie.
std::string | getDomain () const
| Get the domain for which this cookie is valid.
unsigned long | getMaxAge () const
| Get the lifetime of this cookie, in seconds.
std::string | getPath () const
| Get the path of this cookie.
bool | isSecure () const
| Determine if this is a secure cookie.
Mutator Methods
void | setName (const std::string &name)
| Set the name of this cookie.
void | setValue (const std::string &value)
| Set the value of this cookie.
void | setComment (const std::string &comment)
| Set the comment of this cookie.
void | setDomain (const std::string &domain)
| Set the domain of this cookie.
void | setMaxAge (unsigned long maxAge)
| Set the lifetime of this cookie, in seconds.
void | setPath (const std::string &path)
| Set the path of this cookie.
void | setSecure (bool secure)
| Mark this cookie as secure or unsecure.
Inherited Methods
virtual void | render (std::ostream &out) const
| Write this object to a stream.

## Detailed Description

An HTTP cookie.

An HTTP cookie is a way to maintain state between stateless HTTP requests. HTTP cookies consist of name/value pairs, with optional comments, domains, and expiration dates. Usually, you will add one or more HTTPCookie objects to the HTTP headers your script is returning. For example, to set a cookie called `count` to `1` in a normal HTML document:

      out << HTTPHTMLHeader().setCookie(HTTPCookie("count","1"));

Definition at line 58 of file HTTPCookie.h.

## Constructor & Destructor Documentation

cgicc::HTTPCookie::HTTPCookie | ( |  | ) |

Default Constructor.

Create a new, empty HTTPCookie.

cgicc::HTTPCookie::HTTPCookie | ( | const std::string & | name,
|  | const std::string & | value |
| ) |  |  |

Create a new HTTPCookie.

This is the most commonly-used constructor.

Parameters:

  | name | The name of the cookie.
  | value | The value of the cookie.

cgicc::HTTPCookie::HTTPCookie | ( | const std::string & | name,
|  | const std::string & | value,
|  | const std::string & | comment,
|  | const std::string & | domain,
|  | unsigned long | maxAge,
|  | const std::string & | path,
|  | bool | secure |
| ) |  |  |

Create a new fully-spefified HTTPCookie.

Parameters:

  | name | The name of the cookie.
  | value | The value of the cookie.
  | comment | Any comment associated with the cookie.
  | domain | The domain for which this cookie is valid- an empty string will use the hostname of the server which generated the cookie response. If specified, the domain must start with a period('.').
  | maxAge | A number of seconds defining the lifetime of this cookie. A value of `0` indicates the cookie expires immediately.
  | path | The subset of URLS in a domain for which the cookie is valid, for example `/`
  | secure | Specifies whether this is a secure cookie.

cgicc::HTTPCookie::HTTPCookie | ( | const HTTPCookie & | cookie | ) |

Copy constructor.

Set the name, value, comment, domain, age and path of this cookie to those of `cookie`

Parameters:

  | cookie | The HTTPCookie to copy.

virtual cgicc::HTTPCookie::~HTTPCookie | ( |  | ) | `[virtual]`

Destructor.

Delete this HTTPCookie

cgicc::HTTPCookie::HTTPCookie | ( | const std::string & | name,
|  | const std::string & | domain,
|  | const std::string & | path,
|  | bool | secure |
| ) |  |  |

Create a new partially-spefified HTTPCookie for deletion.

Parameters:

  | name | The name of the cookie.
  | domain | The domain for which this cookie is valid- an empty string will use the hostname of the server which generated the cookie response. If specified, the domain must start with a period('.').
  | path | The subset of URLS in a domain for which the cookie is valid, for example `/`
  | secure | Specifies whether this is a secure cookie.

## Member Function Documentation

bool cgicc::HTTPCookie::operator== | ( | const HTTPCookie & | cookie | ) | const

Compare two HTTPCookies for equality.

Two HTTPCookie objects are equal if their names, values, comments, domains, ages, and paths match.

Parameters:

  | cookie | The HTTPCookie to compare to this one

Returns:
  true if the two HTTPCookies are equal, false otherwise.

bool cgicc::HTTPCookie::operator!= | ( | const HTTPCookie & | cookie | ) | const`[inline]`

Compare two HTTPCookies for inequality.

Two HTTPCookie objects are equal if their names, values, comments, domains, ages, and paths match.

Parameters:

  | cookie | The HTTPCookie to compare to this one

Returns:
  false if the two HTTPCookies are equal, true otherwise.

Definition at line 148 of file HTTPCookie.h.

void cgicc::HTTPCookie::setRemoved | ( | bool | removed | ) | `[inline]`

Mark this cookie as secure or unsecure.

Parameters:

  | removed | Set removed status

Definition at line 178 of file HTTPCookie.h.

bool cgicc::HTTPCookie::isRemoved | ( |  | ) | const`[inline]`

Determine if this is a removed cookie.

Returns:
  True if this cookie is removed, false if not.

Definition at line 186 of file HTTPCookie.h.

std::string cgicc::HTTPCookie::getName | ( |  | ) | const`[inline]`

Get the name of this cookie.

Returns:
  The name of this cookie.

Definition at line 211 of file HTTPCookie.h.

Referenced by CardGameTools::getNUMCookie().

std::string cgicc::HTTPCookie::getValue | ( |  | ) | const`[inline]`

Get the value of this cookie.

Returns:
  The value of this cookie.

Definition at line 220 of file HTTPCookie.h.

Referenced by CardGameTools::getNUMCookie().

std::string cgicc::HTTPCookie::getComment | ( |  | ) | const`[inline]`

Get the comment of this cookie.

Returns:
  The comment of this cookie.

Definition at line 229 of file HTTPCookie.h.

std::string cgicc::HTTPCookie::getDomain | ( |  | ) | const`[inline]`

Get the domain for which this cookie is valid.

An empty string indicates the hostname of the server which generated the cookie response.

Returns:
  The domain of this cookie, or "" if none.

Definition at line 240 of file HTTPCookie.h.

unsigned long cgicc::HTTPCookie::getMaxAge | ( |  | ) | const`[inline]`

Get the lifetime of this cookie, in seconds.

Returns:
  The lifetime of this cookie, or 0 if none.

Definition at line 249 of file HTTPCookie.h.

std::string cgicc::HTTPCookie::getPath | ( |  | ) | const`[inline]`

Get the path of this cookie.

This is the subset of URLS in a domain for which the cookie is valid, for example `/`

Returns:
  The path of this cookie, or "" if none.

Definition at line 260 of file HTTPCookie.h.

bool cgicc::HTTPCookie::isSecure | ( |  | ) | const`[inline]`

Determine if this is a secure cookie.

Returns:
  True if this cookie is secure, false if not.

Definition at line 269 of file HTTPCookie.h.

void cgicc::HTTPCookie::setName | ( | const std::string & | name | ) | `[inline]`

Set the name of this cookie.

Parameters:

  | name | The name of this cookie.

Definition at line 284 of file HTTPCookie.h.

void cgicc::HTTPCookie::setValue | ( | const std::string & | value | ) | `[inline]`

Set the value of this cookie.

Parameters:

  | value | The value of this cookie.

Definition at line 293 of file HTTPCookie.h.

void cgicc::HTTPCookie::setComment | ( | const std::string & | comment | ) | `[inline]`

Set the comment of this cookie.

Parameters:

  | comment | The comment of this cookie.

Definition at line 302 of file HTTPCookie.h.

void cgicc::HTTPCookie::setDomain | ( | const std::string & | domain | ) | `[inline]`

Set the domain of this cookie.

An empty string indicates the hostname of the server which generated the cookie response. If specified, the domain must start with a period('.').

Parameters:

  | domain | The domain of this cookie.

Definition at line 314 of file HTTPCookie.h.

void cgicc::HTTPCookie::setMaxAge | ( | unsigned long | maxAge | ) | `[inline]`

Set the lifetime of this cookie, in seconds.

A value of `0` indicated the cookie expires immediately

Parameters:

  | maxAge | The lifetime of this cookie, in seconds.

Definition at line 324 of file HTTPCookie.h.

void cgicc::HTTPCookie::setPath | ( | const std::string & | path | ) | `[inline]`

Set the path of this cookie.

This is the subset of URLS in a domain for which the cookie is valid, for example `/`

Parameters:

  | path | The path of this cookie.

Definition at line 335 of file HTTPCookie.h.

void cgicc::HTTPCookie::setSecure | ( | bool | secure | ) | `[inline]`

Mark this cookie as secure or unsecure.

Parameters:

  | secure | Whether this is a secure cookie.

Definition at line 344 of file HTTPCookie.h.

virtual void cgicc::HTTPCookie::render | ( | std::ostream & | out | ) | const`[virtual]`

Write this object to a stream.

Subclasses must implement this function.

Parameters:

  | out | The ostream to which to write.

Implements cgicc::MStreamable.

The documentation for this class was generated from the following file:

- HTTPCookie.h