35 lines
1.3 KiB
C++
35 lines
1.3 KiB
C++
#include "Helpers.hpp"
|
|
#include "Main.hpp"
|
|
#include <sstream>
|
|
|
|
// Idea is very simple this map has it so that stuff like
|
|
// responseMethods["GET","/"] have a method inside them
|
|
// There is an invoking method inside each HTTPrequest
|
|
//
|
|
// So just add your logic here and relax ;)
|
|
std::unordered_map<
|
|
std::string,
|
|
std::unordered_map<std::string, std::function<void(HTTPrequest *self)>>>
|
|
Webserver::responseMethods;
|
|
|
|
void Webserver::initResponses() {
|
|
responseMethods["GET"]["/"] = [](HTTPrequest *self) {
|
|
self->sendResponse("200 OK", "text/html",
|
|
Helpers::ReadFile("www/index.html"));
|
|
};
|
|
|
|
responseMethods["POST"]["/upload"] = [](HTTPrequest *self) {
|
|
auto result = Helpers::processFormData(self->bodyContent,
|
|
self->headers["Content-Type"]);
|
|
std::stringstream resp;
|
|
resp << "You have sent\n"
|
|
<< "filePassword = " << result["filePassword"].data << "\n"
|
|
<< "name = " << result["name"].data << "\n"
|
|
<< "numb = " << result["numb"].data << "\n"
|
|
<< "time = " << result["time"].data << "\n"
|
|
<< "uploadedFile = " << result["uploadedFile"].data << " as filetype "
|
|
<< result["uploadedFile"].headers["Content-Type"] << "\n";
|
|
self->sendResponse("200 OK", "text/text", resp.str());
|
|
};
|
|
}
|