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

#include <Response.hpp>

Inheritance diagram for anna::http::Response:
Inheritance graph
[legend]
Collaboration diagram for anna::http::Response:
Collaboration graph
[legend]

Public Member Functions

 Response ()
 
int getStatusCode () const
 
const std::string & getReasonPhrase () const
 
void setStatusCode (const int statusCode)
 
void setReasonPhrase (const std::string &reasonPhrase)
 
void setReasonPhrase (const char *reasonPhrase)
 
std::string asString () const
 
- Public Member Functions inherited from anna::http::Message
Type::_v getType () const
 
const std::string & getVersion () const
 
Version::_v getVersionAsEnum () const
 
const std::string & getExtraParameters () const
 
void setVersion (const std::string &version)
 
void setVersion (const Version::_v version)
 
comm::MessagesetBody (const xml::Node *node) noexcept(false)
 
HeadercreateHeader (const Header::Type::_v type) noexcept(false)
 
HeadercreateHeader (const std::string &name) noexcept(false)
 
const Headerfind (const Header::Type::_v type) const
 
Headerfind (const Header::Type::_v type)
 
Headerfind (const char *name)
 
void clear ()
 
header_iterator header_begin ()
 
header_iterator header_end ()
 
const_header_iterator header_begin () const
 
const_header_iterator header_end () const
 
const DataBlockcode () noexcept(false)
 
- Public Member Functions inherited from anna::comm::Message
 Message ()
 
virtual ~Message ()
 
const DataBlockgetBody () const
 
MessagesetBody (const DataBlock &body) noexcept(false)
 
MessagesetBody (const char *buffer, const int size) noexcept(false)
 
void clearBody ()
 
- Public Member Functions inherited from anna::DataBlock
 DataBlock (const bool deepCopy=false)
 
 DataBlock (const char *buffer, const int size, const bool deepCopy=false) noexcept(false)
 
 DataBlock (const DataBlock &other) noexcept(false)
 
virtual ~DataBlock ()
 
int getMaxSize () const
 
int getSize () const
 
const char * getData () const
 
bool isEmpty () const
 
bool deepCopy () const
 
void setSize (const int size) noexcept(false)
 
DataBlockoperator+= (const char c) noexcept(false)
 
DataBlockoperator+= (const DataBlock &right) noexcept(false)
 
DataBlockoperator+= (const std::string &str) noexcept(false)
 
const char operator[] (const int pos) const noexcept(false)
 
char & operator[] (const int pos) noexcept(false)
 
void append (const char *data, const int len) noexcept(false)
 
void append (const DataBlock &other) noexcept(false)
 
void assign (const DataBlock &right) noexcept(false)
 
void assign (const char *buffer, const int size) noexcept(false)
 
DataBlockoperator= (const DataBlock &right) noexcept(false)
 
DataBlockoperator= (const char c) noexcept(false)
 
DataBlockoperator= (const std::string &str) noexcept(false)
 
void allocate (const int nbytes) noexcept(false)
 
void clear () noexcept(false)
 
void remove (const int pos, const int nbytes) noexcept(false)
 
void remove (const int nbytes) noexcept(false)
 
std::string asString (const int characterByLine=24) const
 

Additional Inherited Members

- Public Types inherited from anna::http::Message
typedef Recycler< Header >::iterator header_iterator
 
typedef Recycler< Header >::const_iterator const_header_iterator
 
- Static Public Member Functions inherited from anna::http::Message
static Headerheader (header_iterator &ii)
 
static const Headerheader (const_header_iterator &ii)
 
- Protected Member Functions inherited from anna::http::Message
 Message (const Type::_v type)
 
- Protected Member Functions inherited from anna::comm::Message
 Message (const StatusCodeBuffer::_v statusCodeBuffer)
 
 Message (DataBlock &codeBuffer)
 
- Protected Member Functions inherited from anna::DataBlock
void initialize (const char *buffer, const int size) noexcept(false)
 
void setBuffer (const char *buffer)
 
void setMaxSize (const int maxSize)
 
- Protected Attributes inherited from anna::comm::Message
DataBlocka_codeBuffer
 

Detailed Description

Clase que modela las respuestas HTTP segun la RFC 2616.

Constructor & Destructor Documentation

◆ Response()

anna::http::Response::Response ( )
inlineexplicit

Constructor.

26  :
27  Message(Message::Type::Response) { a_statusCode = 0; setStatusCode(200); }
void setStatusCode(const int statusCode)
Definition: Message.hpp:48
Here is the call graph for this function:

Member Function Documentation

◆ asString()

std::string anna::http::Response::asString ( ) const
virtual

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

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

Implements anna::http::Message.

◆ getReasonPhrase()

const std::string& anna::http::Response::getReasonPhrase ( ) const
inline

Devuelve el campo ReasePhrase contenido en la respuesta.

Returns
el campo ReasePhrase contenido en la respuesta.
39 { return a_reasonPhrase; }
Here is the call graph for this function:

◆ getStatusCode()

int anna::http::Response::getStatusCode ( ) const
inline

Devuelve el codigo de estado contenido en la respuesta.

Returns
El codigo de estado contenido en la respuesta
33 { return a_statusCode; }

◆ setReasonPhrase() [1/2]

void anna::http::Response::setReasonPhrase ( const std::string &  reasonPhrase)
inline

Establece la frase asociada a la respuesta.

Parameters
reasonPhraseFrase asociada a la respuesta.
95 { a_reasonPhrase = reasonPhrase; }

◆ setReasonPhrase() [2/2]

void anna::http::Response::setReasonPhrase ( const char *  reasonPhrase)
inline

Establece la frase asociada a la respuesta.

Parameters
reasonPhraseFrase asociada a la respuesta.
101 { a_reasonPhrase = reasonPhrase; }
Here is the call graph for this function:

◆ setStatusCode()

void anna::http::Response::setStatusCode ( const int  statusCode)

Establece el codigo de retorno de la respuesta HTTP. Si es un codigo reconocido por la RFC 2616 tambien establece el ReasonPhrase por defecto.

Los codigos de respuesta reconocidos por la RFC 2616 son:

100: Continue
101: Switching Protocols
200: OK
201: Created
202: Accepted
203: Non-Authoritative Information
204: No Content
205: Reset Content
206: Partial Content
300: Multiple Choise
301: Moved Permanently
302: Found
303: See Other
304: Not Modified
305: Use proxy
307: Temporary Redirect
400: Bad Request
401: Unautorized
402: Payment Required
403: Forbidden
404: Not found
405: Method Not Allowed
406: Not Acceptable
407: Proxy Authentication Required
408: Request Time-out
409: Conflict
410: Gone
411: Length Required
412: Precondition Failed
413: Request Entity Too Large
414: Request-URI Too Large
415: Unsupported Media Type
416: Requested range not satisfiable
417: Expectation Failed
500: Internal Server Error
501: Not Implemented
502: Bad Gateway
503: Service Unavailable
504: Gateway Time-out
505: HTTP Version not supported

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