X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/1b53a979e1de9034a9755955ea22cd40ed138f23..9523acd2d7be7b8bbbf6d8c786c68c91f9fcc700:/Server/include/plaqui/server/httprequest.h diff --git a/Server/include/plaqui/server/httprequest.h b/Server/include/plaqui/server/httprequest.h index 55748e7..5056d15 100644 --- a/Server/include/plaqui/server/httprequest.h +++ b/Server/include/plaqui/server/httprequest.h @@ -28,8 +28,11 @@ #ifndef PLAQUI_HTTPREQUEST_H #define PLAQUI_HTTPREQUEST_H -#include "httpmessage.h" +#include "plaqui/server/httperror.h" +#include "plaqui/server/httpmessage.h" #include +#include +#include namespace PlaQui { @@ -78,9 +81,12 @@ namespace Server { // Atributos. - protected: + protected: // TODO hacer privados con get() y set() ??? + + public: /// Método HTTP. + /// @todo TODO - convertirlo a string? Hace todo más fácil (y más ineficiente :) HTTPMethod method; /// URI. @@ -104,12 +110,19 @@ namespace Server { HTTPRequest(const std::string& uri = "/", const HTTPMethod& method = GET, const std::string& query = "", - const std::string& http = "1.1"); + const std::string& body = "", + const std::string& version = "1.1"); + + /** + * Obtiene el método como un string. + */ + std::string method_str(void) const; /** * Obtiene los datos del pedido HTTP desde un texto. */ - friend std::istream& operator>>(std::istream& is, HTTPRequest& req); + friend std::istream& operator>>(std::istream& is, HTTPRequest& req) + throw(HTTPError, std::ios::failure); /** * Convierte el pedido HTTP en texto.