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_Request_hpp
10 #define anna_http_Request_hpp
12 #include <anna/http/Message.hpp>
13 #include <anna/http/Method.hpp>
20 Clase que modela las peticiones HTTP segun la RFC 2616.
22 class Request : public Message {
27 explicit Request() : Message(Message::Type::Request) {;}
30 Devuelve el metodo asociado a esta peticion.
31 \return el metodo asociado a esta peticion.
33 Method::Type::_v getMethod() const throw() { return a_method; }
36 Devuelve la URI asociado a esta peticion.
37 \return la URI asociado a esta peticion.
39 const std::string& getURI() const throw() { return a_uri; }
42 Establece el metodo de esta peticion.
43 \param method Metodo a establecer para la peticion.
45 void setMethod(const Method::Type::_v method) throw() { a_method = method; }
48 Establece el URI de esta peticion.
49 \param uri URI a establecer para la peticion.
51 void setURI(const std::string& uri) throw() { a_uri = uri; }
54 Devuelve una cadena con toda la informacion relevante de este objeto.
55 \return una cadena con toda la informacion relevante de este objeto.
57 std::string asString() const throw();
60 Method::Type::_v a_method;
63 std::string codeStartLine() const throw(anna::RuntimeException);