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

#include <ServerSide.hpp>

Inheritance diagram for anna::http::wims20::ServerSide:
Inheritance graph
[legend]
Collaboration diagram for anna::http::wims20::ServerSide:
Collaboration graph
[legend]

Public Member Functions

 ServerSide (const std::string &domain, const std::string &path)
 
 ServerSide (const std::string &domain)
 
const std::string * getValue (const char *name, const Exception::Mode::_v mode=Exception::Mode::Throw) const noexcept(false)
 
const char * getCStringValue (const char *name, const Exception::Mode::_v mode=Exception::Mode::Throw) const noexcept(false)
 
int getIntegerValue (const char *name, const Exception::Mode::_v mode=Exception::Mode::Throw) const noexcept(false)
 
void decode (const http::Request &request) noexcept(false)
 
- Public Member Functions inherited from anna::http::wims20::Abstract
virtual ~Abstract ()
 
const std::string & getDomain () const
 
const std::string * getPath () const
 
const std::string & getServiceID () const
 
const std::string & getGUID () const
 
void setServiceID (const std::string &serviceID)
 
void setGUID (const std::string &guid)
 
bool hasParameters () const
 
bool hasOtherLevels () const
 
virtual void clearOtherLevels ()
 
virtual void clearParameters ()
 
void clear ()
 
std::string asString () const
 
other_level_iterator other_level_begin ()
 
other_level_iterator other_level_end ()
 
const_other_level_iterator other_level_begin () const
 
const_other_level_iterator other_level_end () const
 
const_parameter_iterator parameter_begin () const
 
const_parameter_iterator parameter_end () const
 

Additional Inherited Members

- Public Types inherited from anna::http::wims20::Abstract
typedef std::vector< std::string * > other_level_container
 
typedef other_level_container::iterator other_level_iterator
 
typedef other_level_container::const_iterator const_other_level_iterator
 
typedef std::pair< std::string *, std::string * > parameter_pkv
 
typedef std::vector< parameter_pkvparameter_container
 
typedef parameter_container::iterator parameter_iterator
 
typedef parameter_container::const_iterator const_parameter_iterator
 
- Static Public Member Functions inherited from anna::http::wims20::Abstract
static std::string * otherLevel (other_level_iterator ii)
 
static const std::string & otherLevel (const_other_level_iterator ii)
 
static const std::string & parameter_name (const_parameter_iterator ii)
 
static const std::string & parameter_value (const_parameter_iterator ii)
 
- Protected Member Functions inherited from anna::http::wims20::Abstract
 Abstract (const char *whatis, const std::string &domain, const std::string &path)
 
 Abstract (const char *whatis, const std::string &domain)
 
const std::string & calculeFixedPart () noexcept(false)
 
const std::string & calculeShortFixedPart () noexcept(false)
 
std::string * createString () noexcept(false)
 
std::string * createString (const char *value) noexcept(false)
 
std::string * createString (const std::string &value) noexcept(false)
 
void destroyString (std::string *str)
 
void other_level_add (const std::string &otherLevel) noexcept(false)
 
void parameter_set (const std::string &name, const std::string &value) noexcept(false)
 
parameter_iterator parameter_begin ()
 
parameter_iterator parameter_end ()
 
- Static Protected Member Functions inherited from anna::http::wims20::Abstract
static std::string * parameter_name (parameter_iterator ii)
 
static std::string * parameter_value (parameter_iterator ii)
 
static void appendWithSlash (std::string &target, const std::string &other)
 
- Protected Attributes inherited from anna::http::wims20::Abstract
other_level_containera_otherLevels
 
parameter_containera_parameters
 

Detailed Description

Permite interpretar una URI según las recomendaciones de WIMS 2.0, lo que facilita el desarrollo de aplicaciones integradas en Web 2.0; estas recomendaciones indican cómo debe formarse la petición ServerSide (REpresentational State Transfer) para permitir el desarrollo de cualquier servicio.

Implementa el interfaz WIMS 2.0 desde el punto de vista del proceso que recibe la petición.

El formato general de una URI según la recomendación de WIMS 2.0 es:

http://domain-openapis/path-openapis/serviceID/guid/other_possible_levels?query_parameters

Dónde los campos tienen siguen la siguiente especificación:

Constructor & Destructor Documentation

◆ ServerSide() [1/2]

anna::http::wims20::ServerSide::ServerSide ( const std::string &  domain,
const std::string &  path 
)
inline

Contructor indicando el parámetro opcional path-openapis. Estos dos parámetros se obtendrá como parte de la configuración de nuestro sistema.

Parameters
domainIdentifica el recurso del OpenAPI.
pathParámetro opcional que ajusta la ruta hacia los recusos de éste API.
56  :
57  Abstract("ServerSide", domain, path) {
58  for(int ii = 0; ii < SplitCode::Max; ii ++)
59  a_tokenizer [ii].activateStrip(true);
60  }
Abstract(const char *whatis, const std::string &domain, const std::string &path)

◆ ServerSide() [2/2]

anna::http::wims20::ServerSide::ServerSide ( const std::string &  domain)
inlineexplicit

Constructor que no usará el parámetro opcional path-openapis. Este parámetro se obtendrá como parte de la configuración de nuestro sistema.

Parameters
domainIdentifica el recurso del OpenAPI.
67  :
68  Abstract("ServerSide", domain) {
69  for(int ii = 0; ii < SplitCode::Max; ii ++)
70  a_tokenizer [ii].activateStrip(true);
71  }
Abstract(const char *whatis, const std::string &domain, const std::string &path)
Here is the call graph for this function:

Member Function Documentation

◆ decode()

void anna::http::wims20::ServerSide::decode ( const http::Request request)
noexcept

Decodifica la URI de la petición enviada como parámetro y la interpreta según las recomendaciones de WIMS 2.0

Parameters
requestPetición HTTP que va a tratar este servidor.

◆ getCStringValue()

const char* anna::http::wims20::ServerSide::getCStringValue ( const char *  name,
const Exception::Mode::_v  mode = Exception::Mode::Throw 
) const
noexcept

Obtiene el valor asociado a parámetro recibido como parámetro, que habrá sido obtenido de la URI mediante el método decode.

Parameters
nameNombre del parámetro que se desea obtener.
modeModo de actuar en caso de que no se encuentre el parámetro.
Returns
El valor asociado al parámetro recibido como parémtro. Puede ser NULL.

◆ getIntegerValue()

int anna::http::wims20::ServerSide::getIntegerValue ( const char *  name,
const Exception::Mode::_v  mode = Exception::Mode::Throw 
) const
noexcept

Obtiene el valor asociado a parámetro recibido como parámetro, que habrá sido obtenido de la URI mediante el método decode.

Parameters
nameNombre del parámetro que se desea obtener.
modeModo de actuar en caso de que no se encuentre el parámetro.
Returns
El valor asociado al parámetro recibido como parémtro. Puede ser NULL.

◆ getValue()

const std::string* anna::http::wims20::ServerSide::getValue ( const char *  name,
const Exception::Mode::_v  mode = Exception::Mode::Throw 
) const
noexcept

Obtiene el valor asociado a parámetro recibido como parámetro, que habrá sido obtenido de la URI mediante el método decode.

Parameters
nameNombre del parámetro que se desea obtener.
modeModo de actuar en caso de que no se encuentre el parámetro.
Returns
El valor asociado al parámetro recibido como parémtro. Puede ser NULL.

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