Enhanced the web api
This commit is contained in:
parent
5030d85b98
commit
c1ec325a8b
@ -1,9 +1,32 @@
|
|||||||
#include "SAB.h"
|
#include "SAB.h"
|
||||||
#include "webApi.h"
|
#include "webApi.h"
|
||||||
|
|
||||||
boolean helloServerApi(WEBServerManager::HttpRequestData &HRD, WiFiClient* wc, void* pData)
|
boolean apiTesterApi(WEBServerManager::HttpRequestData &HRD, WiFiClient* wc, void* pData)
|
||||||
{
|
{
|
||||||
wc->print(F("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n<p>Hello client !!!</p>\r\n</html>"));
|
wc->print(F("HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"API\" : \"available\" }"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean ViewByUIDApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
|
{
|
||||||
|
SAB *p = (SAB *)pData;
|
||||||
|
char buffer[200];
|
||||||
|
DictionaryHelper::StringEntity *pSE = HRD.getParams("UID");
|
||||||
|
|
||||||
|
if(pSE == NULL)
|
||||||
|
{
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"failed\", \"message\" : \"expected UID parameter\" }");
|
||||||
|
}
|
||||||
|
else if(strlen(pSE->getString()) > 0)
|
||||||
|
{
|
||||||
|
if(p->getScreenManager().displayView(atoi(pSE->getString())))
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"ViewUID\" : \"%d\" }", p->getScreenManager().getCurrentViewUID());
|
||||||
|
else
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"failed\", \"message\" : \"%s\" }", p->getScreenManager().getErrorMessage());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"failed\", \"message\" : \"UID parameter empty\" }");
|
||||||
|
wc->print(buffer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11,13 +34,15 @@ boolean nextViewApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void
|
|||||||
{
|
{
|
||||||
SAB *p = (SAB *)pData;
|
SAB *p = (SAB *)pData;
|
||||||
char buffer[200];
|
char buffer[200];
|
||||||
p->getScreenManager().displayNextView();
|
if(p->getScreenManager().displayNextView())
|
||||||
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"ViewUID\" : \"%d\" }", p->getScreenManager().getCurrentViewUID());
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"ViewUID\" : \"%d\" }", p->getScreenManager().getCurrentViewUID());
|
||||||
|
else
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"failed\", \"message\" : \"%s\" }", p->getScreenManager().getErrorMessage());
|
||||||
wc->print(buffer);
|
wc->print(buffer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean rtcTimeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
boolean rtcGetTimeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
{
|
{
|
||||||
SAB *p = (SAB *)pData;
|
SAB *p = (SAB *)pData;
|
||||||
char buffer[200];
|
char buffer[200];
|
||||||
@ -27,26 +52,89 @@ boolean rtcTimeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean sdCardEjectApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
boolean rtcSetTimeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
{
|
{
|
||||||
SAB *p = (SAB *)pData;
|
SAB *p = (SAB *)pData;
|
||||||
char buffer[200];
|
char buffer[200];
|
||||||
p->getSdCardManager().end();
|
DictionaryHelper::StringEntity *pSE = HRD.getParams("datetime");
|
||||||
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"card\" : \"ejected\" }");
|
if(pSE == NULL)
|
||||||
|
{
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"failed\", \"message\" : \"expected datetime parameter\" }");
|
||||||
|
}
|
||||||
|
else if(strlen(pSE->getString()) > 0)
|
||||||
|
{
|
||||||
|
Dictionary<DictionaryHelper::StringEntity> *dictio = pSE->split('_');
|
||||||
|
if(dictio == NULL)
|
||||||
|
{
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"failed\", \"message\" : \"datetime format error\" }");
|
||||||
|
wc->print(buffer);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(dictio->count() != 6)
|
||||||
|
{
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"error\", \"message\" : \"datetime format error\" }");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
p->getRtcManager().setDateTime(DateTime(
|
||||||
|
atoi(dictio->get(2)->getString()),
|
||||||
|
atoi(dictio->get(1)->getString()),
|
||||||
|
atoi(dictio->get((unsigned int)0)->getString()),
|
||||||
|
atoi(dictio->get(3)->getString()),
|
||||||
|
atoi(dictio->get(4)->getString()),
|
||||||
|
atoi(dictio->get(5)->getString())
|
||||||
|
));
|
||||||
|
DateTime d = p->getRtcManager().getDateTime();
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"date\" : \"%d/%d/%d\", \"time\" : \"%d:%d:%d\" }", d.day(), d.month(), d.year(), d.hour(), d.minute(), d.second());
|
||||||
|
}
|
||||||
|
|
||||||
|
wc->print(buffer);
|
||||||
|
delete dictio;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
wc->print(buffer);
|
wc->print(buffer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean sdCardInsertApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
boolean sdCardUnmountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
|
{
|
||||||
|
SAB *p = (SAB *)pData;
|
||||||
|
char buffer[200];
|
||||||
|
p->getSdCardManager().end();
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"card\" : \"unmounted\" }");
|
||||||
|
wc->print(buffer);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean sdCardMountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
{
|
{
|
||||||
SAB *p = (SAB *)pData;
|
SAB *p = (SAB *)pData;
|
||||||
char buffer[200];
|
char buffer[200];
|
||||||
|
|
||||||
if(p->getSdCardManager().begin(p->getSdCardConfig().getSPISpeed(), p->getPinConfig().getSPI_sdCard_cs()))
|
if(p->getSdCardManager().begin(p->getSdCardConfig().getSPISpeed(), p->getPinConfig().getSPI_sdCard_cs()))
|
||||||
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"card\" : \"inserted\" }");
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"card\" : \"mounted\" }");
|
||||||
else
|
else
|
||||||
sprintf(buffer,"HTTP/1.1 500 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"error\", \"message\" : \"begin failed\" }");
|
sprintf(buffer,"HTTP/1.1 500 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"error\", \"message\" : \"begin failed\" }");
|
||||||
|
|
||||||
wc->print(buffer);
|
wc->print(buffer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean espRestartApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
|
{
|
||||||
|
ESP.restart();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean espResetApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
|
{
|
||||||
|
ESP.restart();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -2,10 +2,14 @@
|
|||||||
#define WEBAPI_H
|
#define WEBAPI_H
|
||||||
#include "WebServerManager.h"
|
#include "WebServerManager.h"
|
||||||
|
|
||||||
boolean helloServerApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
boolean apiTesterApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
boolean nextViewApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
boolean nextViewApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
boolean rtcTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
boolean ViewByUIDApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
boolean sdCardEjectApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
boolean rtcGetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
boolean sdCardInsertApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
boolean rtcSetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
|
boolean sdCardUnmountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
|
boolean sdCardMountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
|
boolean espRestartApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
|
boolean espResetApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user