47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#include "IMFResponse.h"
|
|
#include "Log.h"
|
|
|
|
namespace coreutils {
|
|
|
|
IMFResponse::IMFResponse() {}
|
|
IMFResponse::~IMFResponse() {}
|
|
|
|
std::string IMFResponse::getResponse(Mode mode) {
|
|
return getResponse("", mode);
|
|
}
|
|
|
|
std::string IMFResponse::getResponse(std::string content, Mode mode) {
|
|
std::stringstream response;
|
|
response << protocol << " " << code << " " << text << CRLF;
|
|
|
|
if(mode == LENGTH)
|
|
addHeader("Content-Length", std::to_string(content.size()));
|
|
else
|
|
addHeader("Transfer-Encoding", "chunked");
|
|
|
|
addHeader("Server", "JETServer v0.0.1");
|
|
|
|
output(response);
|
|
response << content;
|
|
// core::Log(core::LOG_DEBUG_4) << response.str();
|
|
return response.str();
|
|
}
|
|
|
|
void IMFResponse::setProtocol(std::string protocol) {
|
|
this->protocol = protocol;
|
|
}
|
|
|
|
void IMFResponse::setCode(std::string code) {
|
|
this->code = code;
|
|
}
|
|
|
|
void IMFResponse::setText(std::string text) {
|
|
this->text = text;
|
|
}
|
|
|
|
void IMFResponse::setCookie(std::string name, std::string value) {
|
|
addHeader("Set-Cookie", name + "=" + value + ";");
|
|
}
|
|
|
|
}
|