1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_http_Response_hpp
10 #define anna_http_Response_hpp
12 #include <anna/http/Message.hpp>
19 Clase que modela las respuestas HTTP segun la RFC 2616.
21 class Response : public Message {
27 Message(Message::Type::Response) { a_statusCode = 0; setStatusCode(200); }
30 Devuelve el codigo de estado contenido en la respuesta.
31 \return El codigo de estado contenido en la respuesta
33 int getStatusCode() const throw() { return a_statusCode; }
36 Devuelve el campo ReasePhrase contenido en la respuesta.
37 \return el campo ReasePhrase contenido en la respuesta.
39 const std::string& getReasonPhrase() const throw() { return a_reasonPhrase; }
42 Establece el codigo de retorno de la respuesta HTTP. Si es un codigo reconocido por la RFC 2616
43 tambien establece el ReasonPhrase por defecto.
45 Los codigos de respuesta reconocidos por la RFC 2616 son:
48 101: Switching Protocols
52 203: Non-Authoritative Information
57 301: Moved Permanently
62 307: Temporary Redirect
68 405: Method Not Allowed
70 407: Proxy Authentication Required
75 412: Precondition Failed
76 413: Request Entity Too Large
77 414: Request-URI Too Large
78 415: Unsupported Media Type
79 416: Requested range not satisfiable
80 417: Expectation Failed
81 500: Internal Server Error
84 503: Service Unavailable
86 505: HTTP Version not supported
89 void setStatusCode(const int statusCode) throw();
92 Establece la frase asociada a la respuesta.
93 \param reasonPhrase Frase asociada a la respuesta.
95 void setReasonPhrase(const std::string& reasonPhrase) throw() { a_reasonPhrase = reasonPhrase; }
98 Establece la frase asociada a la respuesta.
99 \param reasonPhrase Frase asociada a la respuesta.
101 void setReasonPhrase(const char* reasonPhrase) throw() { a_reasonPhrase = reasonPhrase; }
104 Devuelve una cadena con toda la informacion relevante de este objeto.
105 \return una cadena con toda la informacion relevante de este objeto.
107 std::string asString() const throw();
111 std::string a_reasonPhrase;
113 std::string codeStartLine() const throw(anna::RuntimeException);