TFCweb  1.0.4 $Rev: 483 $
TFC Primavera 2012: Nucli d'un servidor web
Tipus Públics | Mètodes públics | Mètodes Protegits | Atributs Privats | Llista de tots els membres
Referència de la Classe Template MissatgeHTTP< TCos >

Classe base de missatges HTTP. Més...

#include <MissatgeHTTP.h>

Tipus Públics

typedef std::vector
< CapsaleraHTTP
tipus_llista_capsaleres

Mètodes públics

void afegeix_capsalera (const std::string &nom, const std::string &valor)
 Afegeix una nova capçalera al missatge.
template<typename Iterador >
void afegeix_capsaleres (const Iterador &inici, const Iterador &final)
 Afegeix múltiples capçaleres al missatge.
std::string capsalera (const std::string &nom, bool *definida=0) const
 Obté el valor d'una capçalera.
const tipus_llista_capsalerescapsaleres () const
 Obté la llista de capçaleres incloses en el missatge.
virtual std::weak_ptr< TCos > cos () const
 Obté el cos.
void defineix_cos (std::shared_ptr< TCos > cos)
 Defineix el cos del missatge.
bool elimina_capsalera (const std::string &nom) throw ()
 Elimina una capçalera del missatge, si existeix.
void imprimeix_capsaleres (std::ostream &os, const std::string &le="\n") const
 Imprimeix les capçaleres afegides al missatge.
virtual bool operator== (const MissatgeHTTP< TCos > &m) const
 Operador d'igualtat.
bool te_cos () const

Mètodes Protegits

 MissatgeHTTP ()
 MissatgeHTTP (const MissatgeHTTP &m)
 Constructor de còpia.

Atributs Privats

tipus_llista_capsaleres capsaleres_
 Capçaleres afegides al missatge.
std::shared_ptr< TCos > cos_
 Cos del missatge.

Descripció Detallada

template<typename TCos>
class tfc::MissatgeHTTP< TCos >

Classe base de missatges HTTP.

Definició a la línia 52 del fitxer MissatgeHTTP.h.

Documentació de les Definicions de Tipus Membre

typedef std::vector<CapsaleraHTTP> tipus_llista_capsaleres

Definició a la línia 54 del fitxer MissatgeHTTP.h.

Documentació del Constructor i el Destructor

MissatgeHTTP ( )
inlineprotected

Definició a la línia 129 del fitxer MissatgeHTTP.h.

MissatgeHTTP ( const MissatgeHTTP< TCos > &  m)
protected

Constructor de còpia.

Per fer:
FIXME: Inserir còpies? std::copy insereix còpies?

Documentació de les Funcions Membre

void afegeix_capsalera ( const std::string &  nom,
const std::string &  valor 
)

Afegeix una nova capçalera al missatge.

Remarca
nom no distingeix majúscules de minúscules

Referenciat a Servidor::aten() i BOOST_AUTO_TEST_CASE().

void afegeix_capsaleres ( const Iterador &  inici,
const Iterador &  final 
)

Afegeix múltiples capçaleres al missatge.

Remarca
La seqüència passada ha de fer referència a una col·lecció de std::pair<std::string, std::string> amb {nom, valor}

Referenciat a Servidor::aten().

std::string capsalera ( const std::string &  nom,
bool *  definida = 0 
) const

Obté el valor d'una capçalera.

Paràmetres
nomNom de la capçalera
[out]definida(opcional) true si la capçalera es troba, false altrament
Remarca
nom no distingeix majúscules de minúscules
Retorna
Capçalera nom, cadena buida si no està definida

Referenciat a Servidor::aten() i anonymous_namespace{Servidor.cc}::te_capsalera().

const tipus_llista_capsaleres& capsaleres ( ) const
inline

Obté la llista de capçaleres incloses en el missatge.

Mireu també
afegeix_capsalera()
Retorna
La llista
Per fer:
XXX: Defensiu?: Referencia no modificable
Antiquat:
Reemplaçar per Iterator& capsaleres() ?

Definició a la línia 94 del fitxer MissatgeHTTP.h.

virtual std::weak_ptr<TCos> cos ( ) const
inlinevirtual

Obté el cos.

Retorna
Cos

Definició a la línia 118 del fitxer MissatgeHTTP.h.

Referenciat a Servidor::aten() i MissatgeHTTP< CosResposta >::defineix_cos().

void defineix_cos ( std::shared_ptr< TCos >  cos)
inline

Defineix el cos del missatge.

Paràmetres
cosNou cos del missatge

Definició a la línia 102 del fitxer MissatgeHTTP.h.

Referenciat a Servidor::aten().

bool elimina_capsalera ( const std::string &  nom) throw ()

Elimina una capçalera del missatge, si existeix.

Retorna
true si existía, false si no
void imprimeix_capsaleres ( std::ostream &  os,
const std::string &  le = "\n" 
) const

Imprimeix les capçaleres afegides al missatge.

Imprimeix les capçaleres, una per linia, en el format "Nom: Valor"

Paràmetres
osStream on imprimir
leCadena a insertar al final de cada línia
virtual bool operator== ( const MissatgeHTTP< TCos > &  m) const
inlinevirtual

Operador d'igualtat.

Definició a la línia 66 del fitxer MissatgeHTTP.h.

bool te_cos ( ) const
inline

Definició a la línia 120 del fitxer MissatgeHTTP.h.

Referenciat a Servidor::aten().

Documentació de les Dades Membre

tipus_llista_capsaleres capsaleres_
private

Capçaleres afegides al missatge.

Per fer:
XXX: De moment no es distingeix entre capçaleres generals i específiques. Important?

Definició a la línia 147 del fitxer MissatgeHTTP.h.

Referenciat a MissatgeHTTP< CosResposta >::capsaleres() i MissatgeHTTP< CosResposta >::operator==().

std::shared_ptr<TCos> cos_
private

La documentació d'aquesta classe es va generar a partir del següent fitxer: