CoreUtils/IMFResponse.cpp

48 lines
1.3 KiB
C++

#include "IMFResponse.h"
#include "Log.h"
namespace coreutils {
IMFResponse::IMFResponse() {}
IMFResponse::~IMFResponse() {}
std::stringstream IMFResponse::getResponse(Mode mode) {
std::stringstream stream("");
return getResponse(stream, mode);
}
std::stringstream IMFResponse::getResponse(std::stringstream &content, Mode mode) {
std::stringstream response;
response << protocol << " " << code << " " << text << CRLF;
if(mode == LENGTH)
addHeader((char *)"Content-Length", (char *)std::to_string(content.gcount()).c_str());
else
addHeader((char *)"Transfer-Encoding", (char *)"chunked");
addHeader((char *)"Server", (char *)"JETServer v0.0.1");
output(response);
response << content.str();
// core::Log(core::LOG_DEBUG_4) << response.str();
return response;
}
void IMFResponse::setProtocol(ZString protocol) {
this->protocol = protocol;
}
void IMFResponse::setCode(ZString code) {
this->code = code;
}
void IMFResponse::setText(ZString text) {
this->text = text;
}
void IMFResponse::setCookie(ZString key, ZString data) {
addHeader("Set-Cookie", data);
}
}