cgicc::HTTPResponseHeader Class Reference

Generic HTTP response header. More...

#include <cgicc/HTTPResponseHeader.h>

Inheritance diagram for cgicc::HTTPResponseHeader:
cgicc::MStreamable

List of all members.

Public Member Functions

Constructor and Destructor
 HTTPResponseHeader (const std::string &http_version, int status_code, const std::string &reason_phrase)
 Create a new HTTP response header.
virtual ~HTTPResponseHeader ()
 Delete this HTTPResponseHeader.
Additional Header Management
HTTPResponseHeaderaddHeader (const std::string &header)
 Add a general, response, or entity header to this one.
HTTPResponseHeaderaddHeader (const std::string &name, const std::string &value)
 Add a general, response, or entity header to this one.
const std::vector< std::string > & getHeaders () const
 Get a list of all additional headers.
Cookie Management
HTTPResponseHeadersetCookie (const HTTPCookie &cookie)
 Set a cookie to go out with this HTTPResponseHeader.
const std::vector< HTTPCookie > & getCookies () const
 Get a list of all cookies associated with this header.
Accessor methods

Retrieve information on the header

const std::string & getHTTPVersion () const
 Get the HTTP version.
int getStatusCode () const
 Get the 3-digit status code.
std::string getReasonPhrase () const
 Get the reason phrase associated with the stats code.
Mutator methods

Set information on the header

HTTPResponseHeadergetHTTPVersion (const std::string &http_version)
 Set the HTTP version.
HTTPResponseHeadergetStatusCode (int status_code)
 Get the 3-digit status code.
HTTPResponseHeadergetReasonPhrase (const std::string &reason_phrase)
 Get the reason phrase associated with the stats code.
Inherited Methods
virtual void render (std::ostream &out) const
 Write this object to a stream.

Detailed Description

Generic HTTP response header.

This class represents an HTTP response header as defined in section 6 of RFC 2616 (see http://www.w3.org)

All HTTP/1.1 reponses consist of an initial status line containing the HTTP version, a 3-digit status code, and a human-readable reason phrase explaining the status code.

The first digit of the Status-Code defines the class of response. The last two digits do not have any categorization role. There are 5 values for the first digit:

Definition at line 73 of file HTTPResponseHeader.h.


Constructor & Destructor Documentation

cgicc::HTTPResponseHeader::HTTPResponseHeader ( const std::string &  http_version,
int  status_code,
const std::string &  reason_phrase 
)

Create a new HTTP response header.

Parameters:
http_versionThe HTTP version string, usually HTTP/1.1
status_codeThe 3-digit HTTP status code
reason_phraseA short textual description of the status code

Member Function Documentation

HTTPResponseHeader& cgicc::HTTPResponseHeader::addHeader ( const std::string &  header)

Add a general, response, or entity header to this one.

Parameters:
headerThe text of the header to add
Returns:
A reference to this
HTTPResponseHeader& cgicc::HTTPResponseHeader::addHeader ( const std::string &  name,
const std::string &  value 
)

Add a general, response, or entity header to this one.

Parameters:
nameThe name of the header element to add
valueThe value of the header element
Returns:
A reference to this
const std::vector<HTTPCookie>& cgicc::HTTPResponseHeader::getCookies ( ) const [inline]

Get a list of all cookies associated with this header.

Returns:
All the cookies associated with this header

Definition at line 147 of file HTTPResponseHeader.h.

const std::vector<std::string>& cgicc::HTTPResponseHeader::getHeaders ( ) const [inline]

Get a list of all additional headers.

Returns:
A list of all additional headers

Definition at line 128 of file HTTPResponseHeader.h.

HTTPResponseHeader& cgicc::HTTPResponseHeader::getHTTPVersion ( const std::string &  http_version) [inline]

Set the HTTP version.

The HTTP version is a string of the form HTTP/1.1

Parameters:
http_versionThe HTTP version string, usually HTTP/1.1
Returns:
A reference to this

Definition at line 204 of file HTTPResponseHeader.h.

const std::string& cgicc::HTTPResponseHeader::getHTTPVersion ( ) const [inline]

Get the HTTP version.

The HTTP version is a string of the form HTTP/1.1

Returns:
The HTTP version

Definition at line 165 of file HTTPResponseHeader.h.

std::string cgicc::HTTPResponseHeader::getReasonPhrase ( ) const [inline]

Get the reason phrase associated with the stats code.

The reason phrase is a human-readable interpretation of the status code

Returns:
The reason phrase

Definition at line 185 of file HTTPResponseHeader.h.

HTTPResponseHeader& cgicc::HTTPResponseHeader::getReasonPhrase ( const std::string &  reason_phrase) [inline]

Get the reason phrase associated with the stats code.

The reason phrase is a human-readable interpretation of the status code

Parameters:
reason_phraseA short textual description of the status code
Returns:
A reference to this

Definition at line 226 of file HTTPResponseHeader.h.

int cgicc::HTTPResponseHeader::getStatusCode ( ) const [inline]

Get the 3-digit status code.

The 3-digit status code indicates the disposition of the response.

Returns:
The 3-digit status code

Definition at line 175 of file HTTPResponseHeader.h.

HTTPResponseHeader& cgicc::HTTPResponseHeader::getStatusCode ( int  status_code) [inline]

Get the 3-digit status code.

The 3-digit status code indicates the disposition of the response.

Parameters:
status_codeThe 3-digit HTTP status code
Returns:
A reference to this

Definition at line 215 of file HTTPResponseHeader.h.

virtual void cgicc::HTTPResponseHeader::render ( std::ostream &  out) const [virtual]

Write this object to a stream.

Subclasses must implement this function.

Parameters:
outThe ostream to which to write.

Implements cgicc::MStreamable.

HTTPResponseHeader& cgicc::HTTPResponseHeader::setCookie ( const HTTPCookie cookie)

Set a cookie to go out with this HTTPResponseHeader.

Parameters:
cookieThe HTTPCookie to set

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 Tue Apr 12 2011 01:10:13 for cgicc by doxygen 1.7.4