You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Modelbahn/server/webserver.cc

29 lines
964 B

#include "webserver.h"
#include "modelbahn.h"
#include <UDPTCPNetwork.h>
int SimpleWebServer::HandleRequest (WebRequestBuffer *requestbuffer, WebServerClient *webclient) {
if (requestbuffer == NULL || webclient == NULL) return 0;
std::string request = requestbuffer->GetRequest();
JSONParse jpin, jpout;
std::string cmd, obj;
// debug ("Request:%s", request.c_str());
if (request.compare ("/") == 0) request = "/index.html";
if (request.find("/cgi-bin/modelbahn-cgi") != std::string::npos) {
requestbuffer->GetRequestCmdObj(&cmd, &obj, &jpin);
// debug ("cmd: %s, obj: %s, \n%s\n", cmd.c_str(), obj.c_str(), jpin.ToString().c_str());
network->ClientLoop(&jpin, &jpout);
if (webclient->SendResponseData(requestbuffer, jpout.ToString(), "") != 1) return 0;
}
else
if (webclient->SendResponseFile(requestbuffer, request, "") != 1) return 0;
requestbuffer->Clear();
return 1;
};