cgicc::HTTPCookie Class Reference

An HTTP cookie. More...

#include <cgicc/HTTPCookie.h>

Inheritance diagram for cgicc::HTTPCookie:
cgicc::MStreamable

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

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::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::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.

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().

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.

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.

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.

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.
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.

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::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::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::setRemoved ( bool  removed  )  [inline]

Mark this cookie as secure or unsecure.

Parameters:
removed Set removed status

Definition at line 178 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.

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.


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

GNU cgicc - A C++ class library for writing CGI applications
Copyright © 1996 - 2004 Stephen F. Booth
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front Cover Texts, and with no Back-Cover Texts.
Documentation generated Fri Feb 26 07:05:26 2010 for cgicc by doxygen 1.6.3