boost::shared_ptr<Response> ResponseBuilder::build(ushort status, std::string bodyExtension, const char *body, size_t bodySize) { std::stringstream headers; const char *delimiter = "\r\n"; headers << "HTTP/1.1 " << status << " " << getStatusName(status) << delimiter; headers << "Date: " << getDate() << delimiter; headers << "Server: " << "HttpServer/1.1" << delimiter; headers << "Content-Length: " << bodySize << delimiter; headers << "Content-Type: " << getMimeType(bodyExtension) << delimiter; headers << "Connection: " << "close" << delimiter; headers << delimiter; //std::cout << "Response headers:" << std::endl << headers.str(); return boost::make_shared<Response>(headers.str(), body, bodySize); }
/** * @return Return the name of the current status as a C++ string. The returned names are : * - SUCCESS * - FAILED * - TODO * - INDEV * - UNKNOWN * - SKIPED **/ std::string svutStatusInfo::getStatusName(void ) const { return getStatusName(this->status); }