X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/b92547a5de3a3fb4f14a2bea4a4e776b8da3cb5c..b804b4bd1f222976f6a1fb3156fede8e26e32d3d:/Server/include/plaqui/server/httpmessage.h?ds=sidebyside diff --git a/Server/include/plaqui/server/httpmessage.h b/Server/include/plaqui/server/httpmessage.h index 33f546f..37c0287 100644 --- a/Server/include/plaqui/server/httpmessage.h +++ b/Server/include/plaqui/server/httpmessage.h @@ -38,6 +38,22 @@ namespace Server { /// Pedido HTTP. class HTTPMessage { + ///////////////////////////////////////////////////////////////////// + // Constantes. + + public: + + /// \todo TODO completar codigos. + static const unsigned OK = 200; + static const unsigned BAD_REQUEST = 401; + static const unsigned NOT_FOUND = 404; + static const unsigned CONFLICT = 409; + static const unsigned LENGTH_REQUIRED = 411; + static const unsigned INTERNAL_SERVER_ERROR = 500; + static const unsigned NOT_IMPLEMENTED = 501; + static const unsigned HTTP_VERSION_NOT_SUPPORTED = 505; + + ///////////////////////////////////////////////////////////////////// // Atributos. private: @@ -45,7 +61,7 @@ namespace Server { /// Cuerpo del mensaje. std::string body; - protected: + public: // TODO hacer privados con get() y set() ??? /// Version HTTP. std::string version; @@ -53,6 +69,7 @@ namespace Server { /// Cabeceras HTTP. HTTPHeaders headers; + ///////////////////////////////////////////////////////////////////// // Métodos. public: @@ -65,13 +82,13 @@ namespace Server { /** * Constructor. */ - HTTPMessage(const std::string& http_version = "1.1"); + //HTTPMessage(const std::string& http_version = "1.1"); /** * Constructor. */ - //HTTPMessage(const std::string& body, - // const std::string& http_version = "1.1"); + HTTPMessage(const std::string& _body = "", + const std::string& _version = "1.1"); /** * Obtiene el cuerpo del mensaje. @@ -96,6 +113,13 @@ namespace Server { friend std::ostream& operator<<(std::ostream& os, const HTTPMessage& m); + /** + * Obtiene la razón según un código. + * + * \param code Código de estado. + */ + static std::string reason(unsigned code); + }; }