TFCweb
1.0.4 $Rev: 483 $
TFC Primavera 2012: Nucli d'un servidor web
|
Classe base del cos dels missatges de resposta. Més...
#include <CosResposta.h>
Tipus Públics | |
typedef boost::asio::ip::tcp::socket | socket_tcp |
typedef std::pair< std::string, std::string > | tipus_capsalera |
typedef std::vector < tipus_capsalera > | tipus_capsaleres |
typedef std::shared_ptr < Transformacio > | transformacio_ptr |
Mètodes públics | |
CosResposta (const PeticioHTTP &peticio) | |
CosResposta (const CosResposta &cr) | |
virtual | ~CosResposta () |
virtual tipus_capsaleres | capsaleres () const |
Llista de capçaleres específiques del cos a afegir a la resposta. | |
virtual void | envia (socket_tcp &socket) const =0 throw (std::runtime_error) |
Envia el cos del missatge. | |
virtual void | envia_eom (socket_tcp &socket) const throw (ErrorEscrivintEnSocket) |
Envia el final del missatge. | |
CosResposta & | operator= (const CosResposta &cr) |
const PeticioHTTP & | peticio () const |
virtual bool | pot_generar_capsaleres () const |
Indica si el contingut pot generar capçaleres HTTP. |
Mètodes Protegits | |
bool | chunked_ok () const |
Comprova si el client accepta chunked. | |
const std::string & | content_encoding () const |
Content-Encoding acceptat per el client | |
bool | deflate_ok () const |
Comprova si el client accepta deflate. | |
virtual size_t | envia (socket_tcp &socket, const std::string &buffer) const throw (ErrorEscrivintEnSocket) |
Envia una cadena sencera. | |
size_t | envia_literal (socket_tcp &socket, const std::string &buffer) const throw (ErrorEscrivintEnSocket) |
Envia una cadena sense aplicar la codificació | |
const std::string & | transfer_encoding () const |
Transfer-Endocing acceptat per el client | |
transformacio_ptr | transformacio () const |
Genera una transformació acceptable per el client. |
Mètodes Privats | |
void | determina_codificacions () |
Defineix una codificació de contingut/transferència apropiada al client. |
Atributs Privats | |
std::string | ce_ |
Content-Encoding | |
bool | chunked_ok_ |
El client accepta chunked. | |
bool | deflate_ok_ |
El client accepta deflate. | |
PeticioHTTP | peticio_ |
Petició associada. | |
std::string | te_ |
Transfer-Encoding | |
transformacio_ptr | trans_ |
Transformació |
Classe base del cos dels missatges de resposta.
Definició a la línia 81 del fitxer CosResposta.h.
typedef boost::asio::ip::tcp::socket socket_tcp |
Definició a la línia 86 del fitxer CosResposta.h.
typedef std::pair<std::string, std::string> tipus_capsalera |
Definició a la línia 83 del fitxer CosResposta.h.
typedef std::vector<tipus_capsalera> tipus_capsaleres |
Definició a la línia 84 del fitxer CosResposta.h.
typedef std::shared_ptr<Transformacio> transformacio_ptr |
Definició a la línia 85 del fitxer CosResposta.h.
|
inlineexplicit |
peticio | La petició HTTP enviada pel client |
Definició a la línia 91 del fitxer CosResposta.h.
Referències CosResposta::determina_codificacions().
|
inline |
Definició a la línia 99 del fitxer CosResposta.h.
|
inlinevirtual |
Definició a la línia 119 del fitxer CosResposta.h.
|
virtual |
Llista de capçaleres específiques del cos a afegir a la resposta.
Per defecte, retorna les capçaleres relatives a les transformacions aplicables.
Reimplementat a CosPaginaError, Recurs i AutoIndex.
Definició a la línia 78 del fitxer CosResposta.cc.
|
inlineprotected |
Comprova si el client accepta chunked.
Definició a la línia 185 del fitxer CosResposta.h.
Referències CosResposta::chunked_ok_.
|
inlineprotected |
Content-Encoding
acceptat per el client
Definició a la línia 193 del fitxer CosResposta.h.
Referències CosResposta::ce_.
|
inlineprotected |
Comprova si el client accepta deflate.
Definició a la línia 182 del fitxer CosResposta.h.
Referències CosResposta::deflate_ok_.
|
private |
Defineix una codificació de contingut/transferència apropiada al client.
Definició a la línia 89 del fitxer CosResposta.cc.
Referències CadenaTransformacions::afegeix() i tfc::HTTP_1_1.
Referenciat a CosResposta::CosResposta().
|
pure virtual |
Envia el cos del missatge.
Implementat a RecursDinamic, Recurs, AutoIndex i ProgramaCGI.
|
protectedvirtual |
Envia una cadena sencera.
socket | Socket on escriure |
buffer | Cadena a escriure |
ErrorEscrivintEnSocket | si falla l'enviament de dades |
Definició a la línia 39 del fitxer CosResposta.cc.
|
virtual |
Envia el final del missatge.
Definició a la línia 70 del fitxer CosResposta.cc.
|
protected |
Envia una cadena sense aplicar la codificació
Definició a la línia 54 del fitxer CosResposta.cc.
|
inline |
Definició a la línia 109 del fitxer CosResposta.h.
Referències CosResposta::ce_, CosResposta::chunked_ok_, CosResposta::deflate_ok_, CosResposta::peticio_, CosResposta::te_ i CosResposta::trans_.
|
inline |
Definició a la línia 160 del fitxer CosResposta.h.
Referències CosResposta::peticio_.
|
inlinevirtual |
Indica si el contingut pot generar capçaleres HTTP.
Per a alguns tipus de recursos dinàmics, com ara scripts, és dessitjable poder modificar les capçaleres.
Reimplementat a ProgramaCGI.
Definició a la línia 156 del fitxer CosResposta.h.
|
inlineprotected |
Transfer-Endocing
acceptat per el client
Definició a la línia 196 del fitxer CosResposta.h.
Referències CosResposta::te_.
|
inlineprotected |
Genera una transformació acceptable per el client.
Definició a la línia 190 del fitxer CosResposta.h.
Referències CosResposta::trans_.
|
private |
Content-Encoding
Definició a la línia 204 del fitxer CosResposta.h.
Referenciat a CosResposta::content_encoding() i CosResposta::operator=().
|
private |
El client accepta chunked.
Definició a la línia 203 del fitxer CosResposta.h.
Referenciat a CosResposta::chunked_ok() i CosResposta::operator=().
|
private |
El client accepta deflate.
Definició a la línia 202 del fitxer CosResposta.h.
Referenciat a CosResposta::deflate_ok() i CosResposta::operator=().
|
private |
Petició associada.
Definició a la línia 201 del fitxer CosResposta.h.
Referenciat a CosResposta::operator=() i CosResposta::peticio().
|
private |
Transfer-Encoding
Definició a la línia 204 del fitxer CosResposta.h.
Referenciat a CosResposta::operator=() i CosResposta::transfer_encoding().
|
private |
Transformació
Definició a la línia 206 del fitxer CosResposta.h.
Referenciat a CosResposta::operator=() i CosResposta::transformacio().