Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Cookie Class Reference

#include <Cookie.h>

Inheritance diagram for Cookie

Inheritance graph

[legend]
Collaboration diagram for Cookie:

Collaboration graph

[legend]
List of all members.

Public Methods

virtual NS_DECL_ISUPPORTS
nsresult 
Init (const char *name, const char *value)
 Constructs a cookie with a specified name and value. More...

virtual nsresult GetName (char * *aName)
 Returns the name of the cookie. More...

virtual nsresult SetName (const char * aName)
virtual nsresult GetValue (char * *aValue)
 Returns the value of the cookie. More...

virtual nsresult SetValue (const char * aValue)
 Assigns a new value to a cookie after the cookie is created. More...

virtual nsresult GetComment (char * *aComment)
 Returns the comment describing the purpose of this cookie, or null if the cookie has no comment. More...

virtual nsresult SetComment (const char * aComment)
 Specifies a comment that describes a cookie's purpose. More...

virtual nsresult GetDomain (char * *aDomain)
 Returns the domain name set for this cookie. More...

virtual nsresult SetDomain (const char * aDomain)
 Specifies the domain within which this cookie should be presented. More...

virtual nsresult GetPath (char * *aPath)
 Returns the path on the server to which the browser returns this cookie. More...

virtual nsresult SetPath (const char * aPath)
 Specifies a path for the cookie to which the client should return the cookie. More...

virtual nsresult GetSecure (PRBool *aSecure)
 Returns true if the browser is sending cookies only over a secure protocol, or false if the browser can send cookies using any protocol. More...

virtual nsresult SetSecure (PRBool aSecure)
 Indicates to the browser whether the cookie should only be sent using a secure protocol, such as HTTPS or SSL. More...

virtual nsresult GetMaxAge (PRInt32 *aMaxAge)
 Returns the maximum age of the cookie, specified in seconds, By default, -1 indicating the cookie will persist until browser shutdown. More...

virtual nsresult SetMaxAge (PRInt32 aMaxAge)
 Sets the maximum age of the cookie in seconds. More...

virtual nsresult GetVersion (PRUint32 *aVersion)
 Sets the version of the cookie protocol this cookie complies with. More...

virtual nsresult SetVersion (PRUint32 aVersion)
 Returns the version of the protocol this cookie complies with. More...

 Cookie ()
virtual ~Cookie ()

Static Public Methods

bool isToken (const char * value)

Private Attributes

nsCString m_name
nsCString m_value
nsCString m_comment
nsCString m_domain
int m_maxAge
nsCString m_path
bool m_secure
int m_version

Constructor & Destructor Documentation

Cookie::Cookie ( )
 

Cookie::~Cookie ( ) [virtual]
 

Definition at line 65 of file Cookie.cpp.


Member Function Documentation

NS_IMETHODIMP Cookie::GetComment ( char ** aComment ) [virtual]
 

Returns the comment describing the purpose of this cookie, or null if the cookie has no comment.

Returns:
a String containing the comment, or null if none

See also:
setComment

Definition at line 210 of file Cookie.cpp.

NS_IMETHODIMP Cookie::GetDomain ( char ** aDomain ) [virtual]
 

Returns the domain name set for this cookie.

The form of the domain name is set by RFC 2109.

Returns:
a String containing the domain name

See also:
setDomain

Definition at line 244 of file Cookie.cpp.

NS_IMETHODIMP Cookie::GetMaxAge ( PRInt32 * aMaxAge ) [virtual]
 

Returns the maximum age of the cookie, specified in seconds, By default, -1 indicating the cookie will persist until browser shutdown.

Returns:
an integer specifying the maximum age of the cookie in seconds; if negative, means the cookie persists until browser shutdown
See also:
setMaxAge

Definition at line 360 of file Cookie.cpp.

NS_IMETHODIMP Cookie::GetName ( char ** aName ) [virtual]
 

Returns the name of the cookie.

The name cannot be changed after creation.

Returns:
a String specifying the cookie's name

Definition at line 153 of file Cookie.cpp.

NS_IMETHODIMP Cookie::GetPath ( char ** aPath ) [virtual]
 

Returns the path on the server to which the browser returns this cookie.

The cookie is visible to all subpaths on the server.

Returns:
a String specifying a path that contains a servlet name, for example, /catalog

See also:
setPath

Definition at line 285 of file Cookie.cpp.

NS_IMETHODIMP Cookie::GetSecure ( PRBool * aSecure ) [virtual]
 

Returns true if the browser is sending cookies only over a secure protocol, or false if the browser can send cookies using any protocol.

Returns:
true if the browser can use any standard protocol; otherwise, false

See also:
setSecure

Definition at line 325 of file Cookie.cpp.

NS_IMETHODIMP Cookie::GetValue ( char ** aValue ) [virtual]
 

Returns the value of the cookie.

Returns:
a String containing the cookie's present value

See also:
setValue , Cookie

Definition at line 173 of file Cookie.cpp.

NS_IMETHODIMP Cookie::GetVersion ( PRUint32 * aVersion ) [virtual]
 

Sets the version of the cookie protocol this cookie complies with.

Version 0 complies with the original Netscape cookie specification. Version 1 complies with RFC 2109.

Since RFC 2109 is still somewhat new, consider version 1 as experimental; do not use it yet on production sites.

Parameters:
v   0 if the cookie should comply with the original Netscape specification; 1 if the cookie should comply with RFC 2109

See also:
getVersion

Definition at line 411 of file Cookie.cpp.

NS_IMETHODIMP Cookie::Init ( const char * name,
const char * value ) [virtual]
 

Constructs a cookie with a specified name and value.

The name must conform to RFC 2109. That means it can contain only ASCII alphanumeric characters and cannot contain commas, semicolons, or white space or begin with a $ character. The cookie's name cannot be changed after creation.

The value can be anything the server chooses to send. Its value is probably of interest only to the server. The cookie's value can be changed after creation with the setValue method.

By default, cookies are created according to the Netscape cookie specification. The version can be changed with the setVersion method.

Parameters:
name   a String specifying the name of the cookie
value   a String specifying the value of the cookie

See also:
setValue , setVersion

Definition at line 125 of file Cookie.cpp.

NS_IMETHODIMP Cookie::SetComment ( const char * aComment ) [virtual]
 

Specifies a comment that describes a cookie's purpose.

The comment is useful if the browser presents the cookie to the user. Comments are not supported by Netscape Version 0 cookies.

Parameters:
purpose   a String specifying the comment to display to the user

See also:
getComment

Definition at line 227 of file Cookie.cpp.

NS_IMETHODIMP Cookie::SetDomain ( const char * aDomain ) [virtual]
 

Specifies the domain within which this cookie should be presented.

The form of the domain name is specified by RFC 2109. A domain name begins with a dot (.foo.com) and means that the cookie is visible to servers in a specified Domain Name System (DNS) zone (for example, www.foo.com, but not a.b.foo.com). By default, cookies are only returned to the server that sent them.

Parameters:
pattern   a String containing the domain name within which this cookie is visible; form is according to RFC 2109
See also:
getDomain

Definition at line 264 of file Cookie.cpp.

NS_IMETHODIMP Cookie::SetMaxAge ( PRInt32 aMaxAge ) [virtual]
 

Sets the maximum age of the cookie in seconds.

A positive value indicates that the cookie will expire after that many seconds have passed. Note that the value is the maximum age when the cookie will expire, not the cookie's current age.

A negative value means that the cookie is not stored persistently and will be deleted when the Web browser exits. A zero value causes the cookie to be deleted.

Parameters:
expiry   an integer specifying the maximum age of the cookie in seconds; if negative, means the cookie is not stored; if zero, deletes the cookie

See also:
getMaxAge

Definition at line 387 of file Cookie.cpp.

NS_IMETHODIMP Cookie::SetName ( const char * aName ) [virtual]
 

Definition at line 157 of file Cookie.cpp.

NS_IMETHODIMP Cookie::SetPath ( const char * aPath ) [virtual]
 

Specifies a path for the cookie to which the client should return the cookie.

The cookie is visible to all the pages in the directory you specify, and all the pages in that directory's subdirectories. A cookie's path must include the servlet that set the cookie, for example, /catalog, which makes the cookie visible to all directories on the server under /catalog.

Consult RFC 2109 (available on the Internet) for more information on setting path names for cookies.

Parameters:
uri   a String specifying a path

See also:
getPath

Definition at line 307 of file Cookie.cpp.

NS_IMETHODIMP Cookie::SetSecure ( PRBool aSecure ) [virtual]
 

Indicates to the browser whether the cookie should only be sent using a secure protocol, such as HTTPS or SSL.

The default value is false.

Parameters:
flag   if true, sends the cookie from the browser to the server using only when using a secure protocol; if false, sent on any protocol

See also:
getSecure

Definition at line 343 of file Cookie.cpp.

NS_IMETHODIMP Cookie::SetValue ( const char * aValue ) [virtual]
 

Assigns a new value to a cookie after the cookie is created.

If you use a binary value, you may want to use BASE64 encoding.

With Version 0 cookies, values should not contain white space, brackets, parentheses, equals signs, commas, double quotes, slashes, question marks, at signs, colons, and semicolons. Empty values may not behave the same way on all browsers.

Parameters:
newValue   a String specifying the new value

See also:
getValue , Cookie

Definition at line 193 of file Cookie.cpp.

NS_IMETHODIMP Cookie::SetVersion ( PRUint32 aVersion ) [virtual]
 

Returns the version of the protocol this cookie complies with.

Version 1 complies with RFC 2109, and version 0 complies with the original cookie specification drafted by Netscape. Cookies provided by a browser use and identify the browser's cookie version.

Returns:
0 if the cookie complies with the original Netscape specification; 1 if the cookie complies with RFC 2109

See also:
setVersion

Definition at line 431 of file Cookie.cpp.

bool Cookie::isToken ( const char * value ) [static]
 

Definition at line 85 of file Cookie.cpp.

Referenced by Init(), and Response::maybeQuote().


Member Data Documentation

nsCString Cookie::m_comment [private]
 

Definition at line 26 of file Cookie.h.

nsCString Cookie::m_domain [private]
 

Definition at line 28 of file Cookie.h.

int Cookie::m_maxAge [private]
 

Definition at line 29 of file Cookie.h.

nsCString Cookie::m_name [private]
 

Definition at line 24 of file Cookie.h.

nsCString Cookie::m_path [private]
 

Definition at line 30 of file Cookie.h.

bool Cookie::m_secure [private]
 

Definition at line 31 of file Cookie.h.

nsCString Cookie::m_value [private]
 

Definition at line 25 of file Cookie.h.

int Cookie::m_version [private]
 

Definition at line 32 of file Cookie.h.


The documentation for this class was generated from the following files:
Generated at Tue Sep 12 16:34:12 2000 by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000