Hauptseite   Liste aller Namensbereiche   Klassenhierarchie   Alphabetische Liste   Übersicht   Auflistung der Dateien   Elemente eines Namensbereiches   Datenstruktur-Elemente   Datei-Elemente  

HttpResponseHeader Klassenreferenz

Eine einfache Klasse für HTTP-Response Header. Mehr...

#include <HttpResponseHeader.hpp>

Zusammengehörigkeiten von HttpResponseHeader:

Collaboration graph
[Legende]
Aufstellung aller Elemente

Öffentliche Datenelemente

 HttpResponseHeader (std::string contentType)
 ~HttpResponseHeader ()
const std::string getHeaders () const
 Liefert alle hinzugefügten Header. Mehr...

void addHeader (std::string directive, std::string content)
 Fügt einen Header hinzu. Mehr...

void addHeader (std::string directive, int value)
 Fügt einen Header hinzu. Mehr...

void addHeader (std::string directive)
 Fügt einen Header hinzu. Mehr...


Private Datenelemente

 HttpResponseHeader ()
 Der parameterlose Konstruktor. Mehr...


Private Attribute

std::vector< std::string > headerList_
 Der Container mit den einzelnen Headern. Mehr...


Ausführliche Beschreibung

Eine einfache Klasse für HTTP-Response Header.

Sie bietet ein paar Methoden, um einigermaßen komfortabel einen Header zu generieren. Die übergebenen Zeichenketten werden nicht überprüft, noch wird ein Header von sich aus hinzugefügt. Die gesamte Verantwortung über die Header liegt beim Benutzer.
Vorbild war eine ähnliche Klasse aus der verwendeten CGI-Bibliothek. Letztgenannte war aber nach meinem Geschmack für die Dinge, die hier benötigt werden zu überdimensioniert, und deswegen kommt diese Light-Version zum Einsatz.


Beschreibung der Konstruktoren und Destruktoren

HttpResponseHeader::HttpResponseHeader std::string    contentType [explicit]
 

Parameter:
contentType  der Content-Type

00024 {
00025     headerList_.push_back( "Content-type: " + contentType );
00026 }

HttpResponseHeader::~HttpResponseHeader  
 

00031 {
00032     
00033 }

HttpResponseHeader::HttpResponseHeader   [private]
 

Der parameterlose Konstruktor.

Er wird hier nur deklariert und es folgt keine Definition. Damit sollen versteckte tempräre Objekte verhindert werden. Ist wohl eher Paranoia.


Dokumentation der Elementfunktionen

void HttpResponseHeader::addHeader std::string    directive
 

Fügt einen Header hinzu.

Parameter:
directive  eine Direktive, die für sich alleine steht.

00077 {
00078     headerList_.push_back( directive );
00079 }

void HttpResponseHeader::addHeader std::string    directive,
int    value
 

Fügt einen Header hinzu.

Parameter:
directive  die Direktive
value  der Wert der Direktive

00067 {
00068     std::ostringstream o;
00069     o << value;
00070     headerList_.push_back( directive + ": " + o.str() );
00071 }

void HttpResponseHeader::addHeader std::string    directive,
std::string    content
 

Fügt einen Header hinzu.

Parameter:
directive  die Direktive
content  der Inhalt der Direktive

00058 {
00059     headerList_.push_back( directive + ": " + content );
00060 }

const std::string HttpResponseHeader::getHeaders   const
 

Liefert alle hinzugefügten Header.

Die Header werden dabei mit Newline '\n' von einander getrennt.

Rückgabe:
alle Header

00039 {
00040     using std::string;
00041     using std::vector;
00042 
00043     string headerString("");
00044     vector< string >::const_iterator i;
00045     vector< string >::const_iterator iEnd = headerList_.end();
00046     
00047     for ( i = headerList_.begin(); i != iEnd; ++i ) {
00048         headerString += *i + "\n";
00049     }
00050     return headerString;
00051 }


Dokumentation der Datenelemente

std::vector< std::string > HttpResponseHeader::headerList_ [private]
 

Der Container mit den einzelnen Headern.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Fri Apr 12 10:56:28 2002 für SfleX von doxygen1.2.14 geschrieben von Dimitri van Heesch, © 1997-2002