51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
#include "Response.h"
|
|
#include "Log.h"
|
|
|
|
namespace core {
|
|
|
|
Response::Response() {}
|
|
Response::~Response() {}
|
|
|
|
std::string Response::getResponse(Mode mode) {
|
|
return getResponse("", mode);
|
|
}
|
|
|
|
std::string Response::getResponse(std::string content, Mode mode) {
|
|
std::stringstream response;
|
|
response << protocol << " " << code << " " << text << CRLF;
|
|
for(std::map<std::string, std::string>::iterator item = header.begin(); item != header.end(); ++item)
|
|
response << item->first << ": " << item->second << CRLF;
|
|
if(mimeType != "")
|
|
response << "Content-Type: " << mimeType << CRLF;
|
|
if(mode == LENGTH)
|
|
response << "Content-Length: " << content.length() << CRLF;
|
|
else
|
|
response << "Transfer-Encoding: chunked" << CRLF;
|
|
response << CRLF;
|
|
response << content;
|
|
// Log(LOG_DEBUG_4) << response.str();
|
|
return response.str();
|
|
}
|
|
\
|
|
void Response::setProtocol(std::string protocol) {
|
|
this->protocol = protocol;
|
|
}
|
|
|
|
void Response::setCode(std::string code) {
|
|
this->code = code;
|
|
}
|
|
|
|
void Response::setText(std::string text) {
|
|
this->text = text;
|
|
}
|
|
|
|
void Response::setMimeType(std::string mimeType) {
|
|
this->mimeType = mimeType;
|
|
}
|
|
|
|
void Response::addHeaderItem(std::string key, std::string value) {
|
|
header.insert(std::pair<std::string, std::string>(key, value));
|
|
}
|
|
|
|
}
|