TFCweb
1.0.4 $Rev: 483 $
TFC Primavera 2012: Nucli d'un servidor web
|
Representació d'una URL en el domini del projecte. Més...
#include <Uri.h>
Mètodes públics | |
Uri (const std::string &u) throw (ErrorAnalisiUrl) | |
Uri (const Uri &u) | |
Constructor de còpia. | |
const std::string & | autoritat () const |
Host (equivalent a host() ) // TODO: Port? | |
void | autoritat (const std::string &v) |
Host (equivalent a host() ) | |
bool | es_uri_absoluta () const |
Comprova si la URL és absoluta (conté esquema i host) | |
const std::string & | esquema () const |
Protocol. | |
void | esquema (const std::string &v) |
Protocol. | |
const std::string & | fragment () const |
Fragment (marcador) | |
void | fragment (const std::string &v) |
Fragment (marcador) | |
const std::string & | host () const |
Host (equivalent a autoritat() ) | |
Uri | normalitzada () const |
Normalització | |
operator std::string () const | |
Operador de conversió a cadena. | |
Uri & | operator= (const Uri &) |
Operador d'assignació | |
bool | operator== (const Uri &) const |
Operador d'equivalència. | |
const std::string & | params () const |
Paràmetres. | |
void | params (const std::string &p) |
Paràmetres. | |
const std::string & | query () const |
Consulta. | |
void | query (const std::string &v) |
Consulta. | |
const std::string & | ruta () const |
Ruta. | |
void | ruta (const std::string &v) throw (ErrorAnalisiUrl) |
Defineix la ruta. | |
std::string | str () const |
Url completa. | |
bool | te_ruta_absoluta () const |
Comprova si la ruta és absoluta. |
Mètodes Públics Estàtics | |
static std::string | codifica (const std::string &s) throw () |
Codificació de URLs. | |
static std::string | descodifica (const std::string &url, bool &error) throw () |
Descodificació de URLs. | |
static Uri | normalitza (const Uri &u) |
Obté una versió normalitzada de u . |
Mètodes Privats Estàtics | |
static std::string | descodifica (const std::string &) throw (ErrorAnalisiUrl) |
Versió amb excepcions de descodifica(const std::string&, bool&) |
Atributs Privats | |
std::string | autoritat_ |
"Autoritat" (nom de host) | |
std::string | esquema_ |
Esquema de la URL. | |
std::string | fragment_ |
Fragment (...#[fragment]) | |
std::string | params_ |
Paràmetres (...;[params[;params]]) | |
std::string | query_ |
Cadena de consulta (...?[consulta]) | |
std::string | ruta_ |
Ruta. |
Classes Amigues | |
std::ostream & | operator<< (std::ostream &os, const Uri &u) |
Operador d'impressió |
Representació d'una URL en el domini del projecte.
|
explicit |
u | URL a analitzar |
ErrorAnalisiUrl | si u no es pot analitzar correctament |
u
és una URL vàlida Definició a la línia 266 del fitxer Uri.cc.
Referències RFC2068_Sintaxi_URIs::abs_path, tfc::Base64::descodifica(), RFC2068_Sintaxi_URIs::ex_net_path, RFC2068_Sintaxi_URIs::ex_rel_path, RFC2068_Sintaxi_URIs::ex_URI, RFC2068_Sintaxi_URIs::fragment, RFC2068_Sintaxi_URIs::net_path, RFC2068_Sintaxi_URIs::params, RFC2068_Sintaxi_URIs::query, RFC2068_Sintaxi_URIs::rel_path, RFC2068_Sintaxi_URIs::relativeURI i RFC2068_Sintaxi_URIs::URI.
|
inline |
Host (equivalent a host() ) // TODO: Port?
Definició a la línia 86 del fitxer Uri.h.
Referències Uri::autoritat_.
Referenciat a Servidor::analitza_peticio(), BOOST_AUTO_TEST_CASE(), Uri::host(), Uri::normalitza(), tfc::operator<<() i anonymous_namespace{Uri.cc}::reconstrueix().
|
inline |
|
static |
Codificació de URLs.
s | URL a codificar |
s
es codificarà (p.e. "http://example.com" es transformarà en "http%3A%2F%2Fexample%2Ecom")
|
static |
Descodificació de URLs.
[in] | url | Cadena de la URL a descodificar |
[out] | error | Si la cadena conté caràcters codificats incorrectament es possarà en false . |
|
staticprivate |
Versió amb excepcions de descodifica(const std::string&, bool&)
ErrorAnalisiUrl | Si es produeix en error en descodificar |
Definició a la línia 453 del fitxer Uri.cc.
Referències tfc::Base64::descodifica().
bool es_uri_absoluta | ( | ) | const |
|
inline |
Protocol.
Definició a la línia 84 del fitxer Uri.h.
Referències Uri::esquema_.
Referenciat a Servidor::analitza_peticio(), BOOST_AUTO_TEST_CASE(), Uri::normalitza(), tfc::operator<<() i anonymous_namespace{Uri.cc}::reconstrueix().
|
inline |
|
inline |
Fragment (marcador)
Definició a la línia 96 del fitxer Uri.h.
Referències Uri::fragment_.
Referenciat a BOOST_AUTO_TEST_CASE(), Uri::normalitza(), tfc::operator<<() i anonymous_namespace{Uri.cc}::reconstrueix().
|
inline |
|
inline |
Host (equivalent a autoritat() )
Definició a la línia 88 del fitxer Uri.h.
Referències Uri::autoritat().
Obté una versió normalitzada de u
.
u.es_absoluta()
llavors U.es_absoluta()
(però no al revès) Definició a la línia 352 del fitxer Uri.cc.
Referències Uri::autoritat(), anonymous_namespace{Uri.cc}::es_parseable(), Uri::esquema(), Uri::fragment(), anonymous_namespace{Uri.cc}::join_r(), Uri::params(), RFC2068_Sintaxi_URIs::path, Uri::query(), anonymous_namespace{Uri.cc}::reconstrueix(), Uri::ruta() i Uri::ruta_.
Referenciat a Uri::normalitzada().
|
inline |
Normalització
Definició a la línia 175 del fitxer Uri.h.
Referències Uri::normalitza().
Referenciat a norm().
|
inline |
Operador de conversió a cadena.
string
(Url(x)) == x # FIXME: Test case Definició a la línia 133 del fitxer Uri.h.
Referències Uri::str().
Operador d'assignació
Definició a la línia 316 del fitxer Uri.cc.
Referències Uri::autoritat_, Uri::esquema_, Uri::fragment_, Uri::params_, Uri::query_ i Uri::ruta_.
bool operator== | ( | const Uri & | u | ) | const |
|
inline |
Paràmetres.
Definició a la línia 92 del fitxer Uri.h.
Referències Uri::params_.
Referenciat a Uri::normalitza() i anonymous_namespace{Uri.cc}::reconstrueix().
|
inline |
Paràmetres.
Definició a la línia 110 del fitxer Uri.h.
Referències Uri::params_.
|
inline |
Consulta.
Definició a la línia 94 del fitxer Uri.h.
Referències Uri::query_.
Referenciat a BOOST_AUTO_TEST_CASE(), Uri::normalitza(), tfc::operator<<() i anonymous_namespace{Uri.cc}::reconstrueix().
|
inline |
|
inline |
Ruta.
Definició a la línia 90 del fitxer Uri.h.
Referències Uri::ruta_.
Referenciat a Servidor::aten(), Servidor::aten_peticio_lectura(), Uri::normalitza(), tfc::operator<<() i anonymous_namespace{Uri.cc}::reconstrueix().
void ruta | ( | const std::string & | v | ) | throw (ErrorAnalisiUrl) |
Defineix la ruta.
ErrorAnalisiUrl | Si no es pot interpretar v correctament |
Definició a la línia 326 del fitxer Uri.cc.
Referències tfc::Base64::descodifica().
string str | ( | ) | const |
Url completa.
Definició a la línia 345 del fitxer Uri.cc.
Referències anonymous_namespace{Uri.cc}::reconstrueix().
Referenciat a Servidor::aten(), Uri::operator std::string() i Uri::operator==().
bool te_ruta_absoluta | ( | ) | const |
Comprova si la ruta és absoluta.
Definició a la línia 341 del fitxer Uri.cc.
Referenciat a Servidor::analitza_peticio().
|
friend |
|
private |
"Autoritat" (nom de host)
Definició a la línia 184 del fitxer Uri.h.
Referenciat a Uri::autoritat() i Uri::operator=().
|
private |
Esquema de la URL.
Definició a la línia 184 del fitxer Uri.h.
Referenciat a Uri::esquema() i Uri::operator=().
|
private |
Fragment (...#[fragment])
Definició a la línia 184 del fitxer Uri.h.
Referenciat a Uri::fragment() i Uri::operator=().
|
private |
Paràmetres (...;[params[;params]])
Definició a la línia 184 del fitxer Uri.h.
Referenciat a Uri::operator=() i Uri::params().
|
private |
Cadena de consulta (...?[consulta])
Definició a la línia 184 del fitxer Uri.h.
Referenciat a Uri::operator=() i Uri::query().
|
private |
Ruta.
Definició a la línia 184 del fitxer Uri.h.
Referenciat a Uri::normalitza(), Uri::operator=() i Uri::ruta().