X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/6bffb655ac989fe4f115763270f84175bf24e4bb..a359eb714e150b2b59856d0056b9880aaaedd128:/Server/src/httprequest.cpp?ds=sidebyside diff --git a/Server/src/httprequest.cpp b/Server/src/httprequest.cpp index f9fa56c..d62b785 100644 --- a/Server/src/httprequest.cpp +++ b/Server/src/httprequest.cpp @@ -44,16 +44,27 @@ HTTPRequest::~HTTPRequest(void) { } HTTPRequest::HTTPRequest(const string& uri, const HTTPMethod& method, - const string& query, const string& version): - HTTPMessage(version), method(method), uri(uri), query(query) { + const string& query, const string& body, const string& version): + HTTPMessage(body, version), method(method), uri(uri), query(query) { #ifdef DEBUG cerr << __FILE__ << ": uri = " << uri << " | " - << "method = " << ((method == GET) ? "GET" : "POST") << " | " + << "method = " << method_str() << " | " << "query = " << query << " | " + << "body.length = " << body.length() << " | " << "version = " << version << endl; #endif // DEBUG } +string HTTPRequest::method_str(void) const { + switch (method) { + case POST: + return "POST"; + case GET: + default: + return "GET"; + } +} + istream& operator>>(istream& is, HTTPRequest& req) throw(HTTPError, ios::failure) { #ifdef DEBUG @@ -137,12 +148,12 @@ ostream& operator<<(ostream& os, const HTTPRequest& req) { #ifdef DEBUG cerr << __FILE__ << ": operator<<()" << endl; #endif // DEBUG - os << req.method << " " << req.uri; + os << req.method_str() << " " << req.uri; if (req.query.length()) { os << "?" << req.query; } - // TODO ver que este bien el \n/r - os << " HTTP/" << req.version << "\n\r" << static_cast(req); + os << " HTTP/" << req.version << "\r\n" + << static_cast(req); return os; }