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.
29 lines
964 B
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;
|
|
};
|