mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralsec.git
synced 2025-10-30 18:27:49 +00:00
Framework update.
This commit is contained in:
@@ -2011,23 +2011,17 @@ namespace OpenWifi {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void AddCORS() {
|
|
||||||
auto Origin = Request->find("Origin");
|
|
||||||
if (Origin != Request->end()) {
|
|
||||||
Response->set("Access-Control-Allow-Origin", Origin->second);
|
|
||||||
Response->set("Vary", "Origin");
|
|
||||||
} else {
|
|
||||||
Response->set("Access-Control-Allow-Origin", "*");
|
|
||||||
}
|
|
||||||
Response->set("Access-Control-Allow-Headers", "*");
|
|
||||||
Response->set("Access-Control-Allow-Methods", MakeList(Methods_));
|
|
||||||
Response->set("Access-Control-Max-Age", "86400");
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void SetCommonHeaders(bool CloseConnection=false) {
|
inline void SetCommonHeaders(bool CloseConnection=false) {
|
||||||
Response->setVersion(Poco::Net::HTTPMessage::HTTP_1_1);
|
Response->setVersion(Poco::Net::HTTPMessage::HTTP_1_1);
|
||||||
Response->setChunkedTransferEncoding(true);
|
Response->setChunkedTransferEncoding(true);
|
||||||
Response->setContentType("application/json");
|
Response->setContentType("application/json");
|
||||||
|
auto Origin = Request->find("Origin");
|
||||||
|
if (Origin != Request->end()) {
|
||||||
|
Response->set("Access-Control-Allow-Origin", Origin->second);
|
||||||
|
} else {
|
||||||
|
Response->set("Access-Control-Allow-Origin", "*");
|
||||||
|
}
|
||||||
|
Response->set("Vary", "Origin, Accept-Encoding");
|
||||||
if(CloseConnection) {
|
if(CloseConnection) {
|
||||||
Response->set("Connection", "close");
|
Response->set("Connection", "close");
|
||||||
Response->setKeepAlive(false);
|
Response->setKeepAlive(false);
|
||||||
@@ -2038,12 +2032,40 @@ namespace OpenWifi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* inline void AddCORS() {
|
||||||
|
SetCommonHeaders();
|
||||||
|
auto Origin = Request->find("Origin");
|
||||||
|
if (Origin != Request->end()) {
|
||||||
|
Response->set("Access-Control-Allow-Origin", Origin->second);
|
||||||
|
Response->set("Vary", "Origin");
|
||||||
|
} else {
|
||||||
|
Response->set("Access-Control-Allow-Origin", "*");
|
||||||
|
}
|
||||||
|
Response->set("Access-Control-Allow-Headers", "*");
|
||||||
|
Response->set("Access-Control-Allow-Methods", MakeList(Methods_));
|
||||||
|
Response->set("Access-Control-Max-Age", "86400");
|
||||||
|
|
||||||
|
}
|
||||||
|
*/
|
||||||
inline void ProcessOptions() {
|
inline void ProcessOptions() {
|
||||||
// try to figure out if we are doing a CORS options or plain OPTIONS
|
Response->setVersion(Poco::Net::HTTPMessage::HTTP_1_1);
|
||||||
AddCORS();
|
Response->setChunkedTransferEncoding(true);
|
||||||
Response->set("Vary", "Origin, Access-Control-Request-Headers, Access-Control-Request-Method");
|
auto Origin = Request->find("Origin");
|
||||||
SetCommonHeaders();
|
if (Origin != Request->end()) {
|
||||||
Response->set("Access-Control-Allow-Credentials", "true");
|
Response->set("Access-Control-Allow-Origin", Origin->second);
|
||||||
|
} else {
|
||||||
|
Response->set("Access-Control-Allow-Origin", "*");
|
||||||
|
}
|
||||||
|
Response->set("Access-Control-Allow-Methods", MakeList(Methods_));
|
||||||
|
auto RequestHeaders = Request->find("Access-Control-Request-Headers");
|
||||||
|
if(RequestHeaders!=Request->end())
|
||||||
|
Response->set("Access-Control-Allow-Headers", RequestHeaders->second);
|
||||||
|
Response->set("Vary", "Origin, Accept-Encoding");
|
||||||
|
Response->set("Access-Control-Allow-Credentials", "true");
|
||||||
|
Response->set("Access-Control-Max-Age", "86400");
|
||||||
|
Response->set("Connection", "Keep-Alive");
|
||||||
|
Response->set("Keep-Alive", "timeout=30, max=1000");
|
||||||
|
|
||||||
Response->setContentLength(0);
|
Response->setContentLength(0);
|
||||||
Response->setStatus(Poco::Net::HTTPResponse::HTTP_OK);
|
Response->setStatus(Poco::Net::HTTPResponse::HTTP_OK);
|
||||||
Response->send();
|
Response->send();
|
||||||
@@ -2052,7 +2074,6 @@ namespace OpenWifi {
|
|||||||
inline void PrepareResponse(Poco::Net::HTTPResponse::HTTPStatus Status = Poco::Net::HTTPResponse::HTTP_OK,
|
inline void PrepareResponse(Poco::Net::HTTPResponse::HTTPStatus Status = Poco::Net::HTTPResponse::HTTP_OK,
|
||||||
bool CloseConnection = false) {
|
bool CloseConnection = false) {
|
||||||
Response->setStatus(Status);
|
Response->setStatus(Status);
|
||||||
AddCORS();
|
|
||||||
SetCommonHeaders(CloseConnection);
|
SetCommonHeaders(CloseConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2128,7 +2149,7 @@ namespace OpenWifi {
|
|||||||
|
|
||||||
inline void SendCompressedTarFile(const std::string & FileName, const std::string & Content) {
|
inline void SendCompressedTarFile(const std::string & FileName, const std::string & Content) {
|
||||||
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
||||||
AddCORS();
|
SetCommonHeaders();
|
||||||
Response->set("Content-Type","application/gzip");
|
Response->set("Content-Type","application/gzip");
|
||||||
Response->set("Content-Disposition", "attachment; filename=" + FileName );
|
Response->set("Content-Disposition", "attachment; filename=" + FileName );
|
||||||
Response->set("Content-Transfer-Encoding","binary");
|
Response->set("Content-Transfer-Encoding","binary");
|
||||||
@@ -2144,7 +2165,7 @@ namespace OpenWifi {
|
|||||||
|
|
||||||
inline void SendFile(Poco::File & File, const std::string & UUID) {
|
inline void SendFile(Poco::File & File, const std::string & UUID) {
|
||||||
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
||||||
AddCORS();
|
SetCommonHeaders();
|
||||||
Response->set("Content-Type","application/octet-stream");
|
Response->set("Content-Type","application/octet-stream");
|
||||||
Response->set("Content-Disposition", "attachment; filename=" + UUID );
|
Response->set("Content-Disposition", "attachment; filename=" + UUID );
|
||||||
Response->set("Content-Transfer-Encoding","binary");
|
Response->set("Content-Transfer-Encoding","binary");
|
||||||
@@ -2157,7 +2178,7 @@ namespace OpenWifi {
|
|||||||
|
|
||||||
inline void SendFile(Poco::File & File) {
|
inline void SendFile(Poco::File & File) {
|
||||||
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
||||||
AddCORS();
|
SetCommonHeaders();
|
||||||
Poco::Path P(File.path());
|
Poco::Path P(File.path());
|
||||||
auto MT = Utils::FindMediaType(File);
|
auto MT = Utils::FindMediaType(File);
|
||||||
if(MT.Encoding==Utils::BINARY) {
|
if(MT.Encoding==Utils::BINARY) {
|
||||||
@@ -2171,7 +2192,7 @@ namespace OpenWifi {
|
|||||||
|
|
||||||
inline void SendFile(Poco::TemporaryFile &TempAvatar, [[maybe_unused]] const std::string &Type, const std::string & Name) {
|
inline void SendFile(Poco::TemporaryFile &TempAvatar, [[maybe_unused]] const std::string &Type, const std::string & Name) {
|
||||||
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
||||||
AddCORS();
|
SetCommonHeaders();
|
||||||
auto MT = Utils::FindMediaType(Name);
|
auto MT = Utils::FindMediaType(Name);
|
||||||
if(MT.Encoding==Utils::BINARY) {
|
if(MT.Encoding==Utils::BINARY) {
|
||||||
Response->set("Content-Transfer-Encoding","binary");
|
Response->set("Content-Transfer-Encoding","binary");
|
||||||
@@ -2187,7 +2208,7 @@ namespace OpenWifi {
|
|||||||
|
|
||||||
inline void SendFileContent(const std::string &Content, const std::string &Type, const std::string & Name) {
|
inline void SendFileContent(const std::string &Content, const std::string &Type, const std::string & Name) {
|
||||||
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
||||||
AddCORS();
|
SetCommonHeaders();
|
||||||
auto MT = Utils::FindMediaType(Name);
|
auto MT = Utils::FindMediaType(Name);
|
||||||
if(MT.Encoding==Utils::BINARY) {
|
if(MT.Encoding==Utils::BINARY) {
|
||||||
Response->set("Content-Transfer-Encoding","binary");
|
Response->set("Content-Transfer-Encoding","binary");
|
||||||
@@ -2206,7 +2227,7 @@ namespace OpenWifi {
|
|||||||
inline void SendHTMLFileBack(Poco::File & File,
|
inline void SendHTMLFileBack(Poco::File & File,
|
||||||
const Types::StringPairVec & FormVars) {
|
const Types::StringPairVec & FormVars) {
|
||||||
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
Response->setStatus(Poco::Net::HTTPResponse::HTTPStatus::HTTP_OK);
|
||||||
AddCORS();
|
SetCommonHeaders();
|
||||||
Response->set("Pragma", "private");
|
Response->set("Pragma", "private");
|
||||||
Response->set("Expires", "Mon, 26 Jul 2027 05:00:00 GMT");
|
Response->set("Expires", "Mon, 26 Jul 2027 05:00:00 GMT");
|
||||||
std::string FormContent = Utils::LoadFile(File.path());
|
std::string FormContent = Utils::LoadFile(File.path());
|
||||||
|
|||||||
Reference in New Issue
Block a user