Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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


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 186 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 197 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 206 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 168 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 217 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 177 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 226 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 146 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 259 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 271 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 281 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 241 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 292 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 301 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 250 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 Sat Jun 19 00:36:24 2004 for cgicc by doxygen 1.3.6