ANNA Suite  2020b
Multipurpose development suite for Telco applications
Classes | Public Member Functions | Static Public Member Functions | Friends | List of all members
anna::http::Header Class Reference

#include <Header.hpp>

Classes

struct  Category
 
struct  Compare
 
struct  Type
 

Public Member Functions

 ~Header ()
 
Type::_v getType () const
 
Category::_v getCategory () const
 
const std::string * getExtensionName () const
 
const std::string & getStringValue () const
 
const int getIntegerValue () const
 
void setValue (const Token *token)
 
void setValue (const std::string &value)
 
void setValue (const int value)
 
Headeroperator= (const Header &other)
 
int compare (const char *str, const int flags=Compare::LeftTrim|Compare::NoCase) const
 
bool match (const char *str, const int flags=Compare::LeftTrim|Compare::NoCase) const
 
std::string asString () const
 

Static Public Member Functions

static Type::_v asType (const Token *token)
 
static const char * asLiteral (const Type::_v type)
 

Friends

class Message
 
class Allocator< Header >
 

Detailed Description

Representacion de las cabeceras HTTP.

Constructor & Destructor Documentation

◆ ~Header()

anna::http::Header::~Header ( )
inline

Destructor.

67 { delete a_extensionName; }

Member Function Documentation

◆ asLiteral()

static const char* anna::http::Header::asLiteral ( const Type::_v  type)
static

Interpreta el token recibido como parametro y devuelve el nombre de la cabecera con la que esta asociado.

Parameters
typeTipo de cabecera.
Warning
Exclusivamente uso interno.
Returns
El literal con el nombre de la cabecera correspondiente al tipo recibido.

◆ asString()

std::string anna::http::Header::asString ( ) const

Devuelve una cadena con toda la informacion relevante de este objeto.

Returns
una cadena con toda la informacion relevante de este objeto.

◆ asType()

static Type::_v anna::http::Header::asType ( const Token token)
static

Interpreta el token recibido como parametro y devuelve el valor de Type con el que esta asociado.

Parameters
tokenToken obtenido en la fase de analisis.
Warning
Exclusivamente uso interno.
Returns
El tipo de cabecera.

◆ compare()

int anna::http::Header::compare ( const char *  str,
const int  flags = Compare::LeftTrim|Compare::NoCase 
) const

Compara el contenido actual de esta cabecera con el literal recibido como parametro y devuelve un entero menor, igual o mayor que cero si se encuentra que el contenido es, respectivamente, menor que, igual a (concordante), o mayor que str.

Parameters
strLa cadena con la que comparar.
flagsModo de comparacion aplicado.
Returns
Un entero menor, igual o mayor que cero si se encuentra que el contenido es, respectivamente, menor que, igual a (concordante), o mayor que str.

◆ getCategory()

Category::_v anna::http::Header::getCategory ( ) const
inline

Devuelve la categoria de la cabecera.

Returns
la categoria de la cabecera.
79 { return a_category; }

◆ getExtensionName()

const std::string* anna::http::Header::getExtensionName ( ) const
inline

Devuelve el puntero nombre de la extension, puede ser NULL.

Returns
el puntero nombre de la extension, puede ser NULL.
85 { return a_extensionName; }

◆ getIntegerValue()

const int anna::http::Header::getIntegerValue ( ) const

Devuelve el valor numerico asociado a esta cabecera.

Returns
el valor numerico asociado a esta cabecera.

◆ getStringValue()

const std::string& anna::http::Header::getStringValue ( ) const
inline

Devuelve el valor asociado a esta cabecera.

Returns
el valor asociado a esta cabecera.
91 { return a_value; }
Here is the call graph for this function:

◆ getType()

Type::_v anna::http::Header::getType ( ) const
inline

Devuelve el tipo de la cabecera.

Returns
el tipo de la cabecera.
73 { return a_type; }

◆ match()

bool anna::http::Header::match ( const char *  str,
const int  flags = Compare::LeftTrim | Compare::NoCase 
) const
inline

Compara el contenido actual de esta cabecera con el literal recibido como parametro y devuelve true o false dependiendo de si el contenido coincide con str.

Parameters
strLa cadena con la que comparar.
flagsModo de comparacion aplicado.
Returns
true o false dependiendo de si el contenido coincide con str.
147  {
148  return compare(str, flags) == 0;
149  }
int compare(const char *str, const int flags=Compare::LeftTrim|Compare::NoCase) const
Here is the call graph for this function:

◆ operator=()

Header& anna::http::Header::operator= ( const Header other)

Operador de copia.

Parameters
otherCabecera de la que copiar.
Returns
La instancia de si misma.

◆ setValue() [1/3]

void anna::http::Header::setValue ( const Token token)

Establece el valor de esta cabecera.

Parameters
tokenToken del que obtendremos el valor.
Warning
Exclusivamente uso interno.

◆ setValue() [2/3]

void anna::http::Header::setValue ( const std::string &  value)
inline

Establece el valor asociado a esta cabecera.

Parameters
valueValor a establecer.
110 { a_value = value; }
Here is the call graph for this function:

◆ setValue() [3/3]

void anna::http::Header::setValue ( const int  value)

Establece el valor asociado a esta cabecera.

Parameters
valueValor a establecer.

Friends And Related Function Documentation

◆ Allocator< Header >

friend class Allocator< Header >
friend

◆ Message

friend class Message
friend

The documentation for this class was generated from the following file: