TFCweb
1.0.4 $Rev: 483 $
TFC Primavera 2012: Nucli d'un servidor web
|
Espai de noms del Treball de Final de Carrera. Més...
Espais de Noms | |
namespace | Base64 |
Codificació i descodificació de cadenes de text amb la codificació Base 64. | |
namespace | debug |
Eines addicionals per a comprovar el funcionament del servidor mentre es desenvolupa. | |
namespace | Fixtures |
Espai de noms de les classes fixture, utilitzades per proporcionar un context a les proves unitàries. | |
namespace | FrasesEstatHTTP |
Encapsulament del mapeig entre codi d'estat i frase d'estat. | |
namespace | NomTipusPeticioHTTP |
Encapsulament de la traducció de tipus de petició al seu nom. | |
namespace | portabilitat |
Eines per treballar de manera similar en diferents plataformes. | |
namespace | RegistreTipusMIME |
Encapsulació del registre i consulta de tipus MIME. | |
namespace | utils |
Funcions i algorismes de suport. |
Classes | |
class | AjudaDemanada |
Indica que s'ha demanat ajuda a la línia de comandes ($ tfcweb –help) Més... | |
class | AplicadorTransformacio |
Aplica una transformació a un origen i una destinació Més... | |
class | AplicadorTransformacioBase |
Classe base d'implementació de AplicadorTransformacio, no instanciable. Més... | |
class | AutoIndex |
Generació del llistat d'un directori. Més... | |
class | CadenaTransformacions |
Transformacio encadenada Exemple: Transformació "deflate,chunked": Més... | |
class | CanviNivellMissatge |
Canvi de nivell de log del missatge. Més... | |
class | CapsaleraHTTP |
Representació d'una capçalera HTTP. Més... | |
class | Cerber |
class | Configuracio |
Configuració carregada. Més... | |
class | CosPaginaError |
class | CosPeticio |
Cos dels missatges de petició Més... | |
class | CosResposta |
Classe base del cos dels missatges de resposta. Més... | |
class | CosTextual |
Creació d'una resposta a partir d'un text. Més... | |
class | CuaConcurrent |
Implementació d'una cua concurrent amb locking. Més... | |
class | DestiLogging |
Classe base dels destins de logging. Més... | |
class | ErrorAnalisiUrl |
Indica un error en l'anàlisi sintàctic d'una URL. Més... | |
class | ErrorConfiguracio |
Representa un error en la configuració Més... | |
class | ErrorDestiNoAssociat |
Indica que s'ha intentat operar sobre un destí de logging no associat a l'objecte Log . Més... | |
class | ErrorEscrivintEnSocket |
class | ErrorFormatDataIncorrecte |
class | ErrorHTTP |
Error base HTTP; normalment indica que es respondrà al client amb un missatge d'error. Més... | |
class | ErrorHTTPBadRequest |
Petició HTTP incorrecta (familia d'errors 4xx ) Més... | |
class | ErrorHTTPIntern |
Error intern del servidor (familia d'errors 5xx ) Més... | |
class | ErrorLiniaComandes |
Representa un error en la línia de comandes. Més... | |
class | ErrorLlegintFitxer |
Indica que s'ha produït un error en intentar llegir els continguts d'un fitxer. Més... | |
class | ErrorLogNoValid |
Indica que s'ha intentat utilitzar com a fitxer no vàlid (directori o no escribible) Més... | |
class | ErrorMetodeDesconegut |
Indica que s'ha trobat un mètode HTTP desconegut en una petició Més... | |
class | ErrorNoImplementat |
Llençat per mètodes no implementats. Més... | |
class | ErrorOpcions |
Classe base dels error en les opcions (configuració o línia de comandes) Més... | |
class | ErrorRebentDades |
Indica un error de lectura del socket, en intentar-ne llegir. Més... | |
class | ErrorRutaInexistent |
Indica que s'ha intentat l'accés a una ruta d'arxiu inexistent. Més... | |
class | ErrorTFC |
Excepció base de totes les excepcions del projecte. Més... | |
class | ErrorThreadPoolTancada |
class | Es_Pair_De_Strings |
Restricció (constraint): T respon a la interfície de std::pair<std::string, std::string> Més... | |
class | Es_Pot_Cridar_Sense_Arguments |
Restricció (constraint): T es pot cridar com si fós una funció amb la signatura void (void) Més... | |
class | FuncioEscriptoraOstream |
Escriptura de blocs en un ostream . Més... | |
class | FuncioExtractoraIstream |
Extracció de blocs des d'un istream . Més... | |
class | Log |
Interfície de control de Logging. Més... | |
class | ManipuladorParametritzat |
class | MissatgeHTTP |
Classe base de missatges HTTP. Més... | |
class | MissatgeLog |
Missatge individual de log. Més... | |
class | PeticioHTTP |
Representació d'una petició HTTP. Més... | |
class | ProgramaCGI |
Interfície cap a un script CGI. Més... | |
class | Recurs |
Representació d'un recurs (fitxer o directori) Abans d'instanciar cal inicialitzar estàticament amb. Més... | |
class | RecursDinamic |
class | RespostaHTTP |
Representació d'un resposta HTTP. Més... | |
class | Servidor |
class | Te_Operador_Extraccio |
Restricció (constraint): T té definit l'operador d'extracció (>> ) sobre objectes del tipus TOrigen . Més... | |
class | Te_Operador_Insercio |
Restricció (constraint): T té definit l'operador d'inserció (<< ) sobre objectes de tipus TDesti . Més... | |
class | ThreadPool |
Implementació del patró ThreadPool. Més... | |
class | Transformacio |
Interfície de les transformacions. Més... | |
class | TransformacioChunked |
Transformació chunked. Més... | |
class | TransformacioDeflate |
class | TransformacioIdentity |
Transformació identity (nul·la) Més... | |
class | Uri |
Representació d'una URL en el domini del projecte. Més... | |
class | VersioDemanada |
Indica que s'ha demanat informació de versió a la línia de comandes ($ tfcweb –version) Més... |
Definicions de Tipus | |
typedef unsigned short | FlagsPermis |
Composició de valors a partir de Permis (p.e. PROTEGIT|LECTURA ) |
Funcions | |
void | commit (MissatgeLog &ml) |
Manipulador final de missatge log: Imprimir la línia actual. | |
std::string | data_http (std::time_t t) |
Generació d'una data en el format estàndard HTTP. | |
std::string | data_http (const boost::posix_time::ptime &pt) |
Generació d'una data en el format estàndard HTTP. | |
string | data_http (time_t t) |
string | data_http () |
Generació de la data actual en format HTTP. | |
time_t | llegeix_data_http (const std::string &s) throw (ErrorFormatDataIncorrecte) |
Interpretació d'una data HTTP. | |
MissatgeLog | log () |
Interfície de creació de missatges de log. | |
std::shared_ptr < ManipuladorParametritzat > | nivell (NivellLog n) |
Manipulador parametritzat: Indicació del nivell de logging de l'entrada. | |
template<typename TIt , typename TImpl > | |
void | nivell_sortida_i (TIt beg, TIt end, const TImpl &d, NivellLog nn) throw (ErrorDestiNoAssociat) |
template<typename TIt , typename TImpl > | |
NivellLog | nivell_sortida_i (TIt beg, TIt end, const TImpl &d) throw (ErrorDestiNoAssociat) |
string | nom_permis (FlagsPermis f) |
Forma textual dels permisos. | |
ostream & | operator<< (std::ostream &os, tfc::VersioHTTP v) |
Impressió transparent dels valors simbòlics de VersioHTTP. | |
ostream & | operator<< (ostream &os, const Cerber &c) |
ostream & | operator<< (ostream &os, const Configuracio &c) |
ostream & | operator<< (ostream &os, const Uri &u) |
MissatgeLog & | rollback (MissatgeLog &ml) |
Manipulador de missatge de log: Cancel·lar la línia actual de ml . |
Espai de noms del Treball de Final de Carrera.
typedef unsigned short FlagsPermis |
Composició de valors a partir de Permis (p.e. PROTEGIT|LECTURA
)
Definició a la línia 46 del fitxer Permisos.h.
enum CodiEstatHTTP |
Codis HTTP coneguts.
((int) CODI_404) == 404
) Definició a la línia 40 del fitxer CodisEstatHTTP.h.
Possibles estats en cridar Transformacio::destransforma()
TRANSFORMAT |
Transformació correcta. |
NO_TRANSFORMAT |
Transformació errònia (p.e. dades insuficients) |
FORMAT_INCORRECTE |
Transformació errònia i no sol·lucionable amb més dades. |
Definició a la línia 54 del fitxer Transformacions.h.
enum NivellLog |
Nivells de logging.
enum Permis |
Modelació dels possibles permisos.
PRIVAT |
No es permet cap mena d'accés. |
PROTEGIT |
Només amb contrasenya. |
LECTURA |
Permís de lectura (GET, HEAD, POST...) |
ESCRIPTURA |
Permís d'escriptura (PUT, DELETE) |
EXECUCIO |
Permís d'execució de CGIs. |
Definició a la línia 38 del fitxer Permisos.h.
enum TipusPeticioHTTP |
Tipus de peticions HTTP/1.1.
GET | |
POST | |
HEAD | |
OPTIONS | |
TRACE | |
PUT | |
METODE_DELETE | |
CONNECT | |
desconegut |
Tipus no definit o no suportat. |
Definició a la línia 48 del fitxer PeticioHTTP.h.
enum VersioHTTP |
Indicació de versió d'HTTP.
Definició a la línia 95 del fitxer PeticioHTTP.h.
void commit | ( | MissatgeLog & | ml | ) |
Manipulador final de missatge log: Imprimir la línia actual.
Quan s'insereix commit
a ml
es termina la línia i es força la sincronització.
Exemple:
Definició a la línia 278 del fitxer Log.cc.
Referenciat a Servidor::aten(), Servidor::aten_peticio_escriptura(), Servidor::aten_peticio_lectura(), BOOST_AUTO_TEST_CASE(), ProgramaCGI::envia(), Servidor::envia_resposta(), Servidor::extreu_capsaleres(), Servidor::extreu_cos(), main() i Executor::operator()().
std::string tfc::data_http | ( | std::time_t | t | ) |
Generació d'una data en el format estàndard HTTP.
t | Data en format std::time_t |
Exemple: Dilluns 16 d'abril de 2012 a les 3:30:45, GMT+2:
|
inline |
Generació d'una data en el format estàndard HTTP.
t | Data en format std::time_t |
Exemple: Dilluns 16 d'abril de 2012 a les 3:30:45, GMT+2:
Definició a la línia 67 del fitxer DataHTTP.h.
Referències data_http().
string tfc::data_http | ( | time_t | t | ) |
Definició a la línia 167 del fitxer DataHTTP.cc.
Referències tfc::utils::formata_data().
Referenciat a Servidor::aten(), BOOST_AUTO_TEST_CASE(), Recurs::capsaleres() i data_http().
std::string data_http | ( | ) |
Generació de la data actual en format HTTP.
Definició a la línia 171 del fitxer DataHTTP.cc.
Referències tfc::utils::formata_data().
time_t llegeix_data_http | ( | const std::string & | s | ) | throw (ErrorFormatDataIncorrecte) |
Interpretació d'una data HTTP.
s | Representació textual de la data en un dels formats acceptats en HTTP |
Definició a la línia 179 del fitxer DataHTTP.cc.
Referències anonymous_namespace{DataHTTP.cc}::DIES_SETMANA, anonymous_namespace{DataHTTP.cc}::extreu_asctime(), anonymous_namespace{DataHTTP.cc}::extreu_rfc822(), anonymous_namespace{DataHTTP.cc}::extreu_rfc850(), anonymous_namespace{DataHTTP.cc}::MESOS, anonymous_namespace{DataHTTP.cc}::RE_ASCTIME(), anonymous_namespace{DataHTTP.cc}::RE_RFC850() i anonymous_namespace{DataHTTP.cc}::tfc_timegm().
Referenciat a BOOST_AUTO_TEST_CASE().
MissatgeLog log | ( | ) |
Interfície de creació de missatges de log.
Ús:
Definició a la línia 47 del fitxer Log.cc.
Referenciat a Servidor::aten(), Servidor::aten_peticio_escriptura(), Servidor::aten_peticio_lectura(), BOOST_AUTO_TEST_CASE(), ProgramaCGI::envia(), Servidor::envia_resposta(), Servidor::extreu_capsaleres(), Servidor::extreu_cos(), main() i Executor::operator()().
std::shared_ptr< ManipuladorParametritzat > nivell | ( | NivellLog | n | ) |
Manipulador parametritzat: Indicació del nivell de logging de l'entrada.
Exemple:
Definició a la línia 309 del fitxer Log.cc.
Referenciat a BOOST_AUTO_TEST_CASE(), Log::imprimeix(), DestiLogging::nivell(), FunctorCanviNivell::operator()() i CanviNivellMissatge::operator()().
void tfc::nivell_sortida_i | ( | TIt | beg, |
TIt | end, | ||
const TImpl & | d, | ||
NivellLog | nn | ||
) | throw (ErrorDestiNoAssociat) |
Definició a la línia 192 del fitxer Log.cc.
Referenciat a Log::nivell_sortida().
NivellLog tfc::nivell_sortida_i | ( | TIt | beg, |
TIt | end, | ||
const TImpl & | d | ||
) | throw (ErrorDestiNoAssociat) |
std::string nom_permis | ( | FlagsPermis | f | ) |
Forma textual dels permisos.
Definició a la línia 139 del fitxer Permisos.cc.
Referències ESCRIPTURA, EXECUCIO, LECTURA, anonymous_namespace{Permisos.cc}::MASCARA_PERMIS, PRIVAT i PROTEGIT.
Referenciat a Configuracio::Configuracio() i operator<<().
std::ostream & operator<< | ( | ostream & | os, |
VersioHTTP | v | ||
) |
Impressió transparent dels valors simbòlics de VersioHTTP.
Definició a la línia 95 del fitxer PeticioHTTP.cc.
Referències HTTP_0_9, HTTP_1_0, HTTP_1_1, HTTP_1_X, HTTP_DESCONEGUT i HTTP_SUPERIOR.
ostream& tfc::operator<< | ( | ostream & | os, |
const Cerber & | c | ||
) |
Definició a la línia 130 del fitxer Permisos.cc.
Referències nom_permis(), Cerber::per_defecte_ i Cerber::regles_.
ostream& tfc::operator<< | ( | std::ostream & | os, |
const Configuracio & | c | ||
) |
Definició a la línia 293 del fitxer Configuracio.cc.
Referències Configuracio::arrel(), Configuracio::cerber_, Configuracio::config(), Configuracio::contrasenya(), tfc::utils::es_canonic(), Configuracio::fils(), Configuracio::index(), Configuracio::port(), Configuracio::realme() i Configuracio::usuari().
ostream& tfc::operator<< | ( | std::ostream & | os, |
const Uri & | u | ||
) |
Definició a la línia 471 del fitxer Uri.cc.
Referències Uri::autoritat(), Uri::esquema(), Uri::fragment(), Uri::query() i Uri::ruta().
MissatgeLog & rollback | ( | MissatgeLog & | ml | ) |
Manipulador de missatge de log: Cancel·lar la línia actual de ml
.
Definició a la línia 282 del fitxer Log.cc.
Referències MissatgeLog::oss_.