Monitor motorhome leisure battery and provide simple control of habitation

Dependencies:   net lpc1768 crypto clock web fram log

Committer:
andrewboyson
Date:
Thu Jan 14 16:05:55 2021 +0000
Revision:
0:b843d647695c
Child:
3:b96c6f6bbffc
Creation (mostly a copy of heating at the moment)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 0:b843d647695c 1 #include "http.h"
andrewboyson 0:b843d647695c 2 #include "web-pages-this.h"
andrewboyson 0:b843d647695c 3 #include "web.h"
andrewboyson 0:b843d647695c 4
andrewboyson 0:b843d647695c 5 #define DO_HOME_HTML DO_THIS + 0
andrewboyson 0:b843d647695c 6 #define DO_PROGRAM_HTML DO_THIS + 1
andrewboyson 0:b843d647695c 7 #define DO_PROGRAM_AJAX DO_THIS + 2
andrewboyson 0:b843d647695c 8 #define DO_PROGRAM_SCRIPT DO_THIS + 3
andrewboyson 0:b843d647695c 9 #define DO_RADIATOR_HTML DO_THIS + 4
andrewboyson 0:b843d647695c 10 #define DO_RADIATOR_AJAX DO_THIS + 5
andrewboyson 0:b843d647695c 11 #define DO_RADIATOR_SCRIPT DO_THIS + 6
andrewboyson 0:b843d647695c 12 #define DO_BOILER_HTML DO_THIS + 7
andrewboyson 0:b843d647695c 13 #define DO_BOILER_AJAX DO_THIS + 8
andrewboyson 0:b843d647695c 14 #define DO_BOILER_SCRIPT DO_THIS + 9
andrewboyson 0:b843d647695c 15 #define DO_SYSTEM_HTML DO_THIS + 10
andrewboyson 0:b843d647695c 16 #define DO_SYSTEM_AJAX DO_THIS + 11
andrewboyson 0:b843d647695c 17 #define DO_SYSTEM_SCRIPT DO_THIS + 12
andrewboyson 0:b843d647695c 18 #define DO_1WIRE_HTML DO_THIS + 13
andrewboyson 0:b843d647695c 19 #define DO_1WIRE_AJAX DO_THIS + 14
andrewboyson 0:b843d647695c 20 #define DO_1WIRE_SCRIPT DO_THIS + 15
andrewboyson 0:b843d647695c 21
andrewboyson 0:b843d647695c 22 int WebServerThisDecideWhatToDo(char *pPath, char* pLastModified)
andrewboyson 0:b843d647695c 23 {
andrewboyson 0:b843d647695c 24 if (HttpSameStr(pPath, "/" )) return DO_HOME_HTML;
andrewboyson 0:b843d647695c 25 if (HttpSameStr(pPath, "/program" )) return DO_PROGRAM_HTML;
andrewboyson 0:b843d647695c 26 if (HttpSameStr(pPath, "/program-ajax" )) return DO_PROGRAM_AJAX;
andrewboyson 0:b843d647695c 27 if (HttpSameStr(pPath, "/radiator" )) return DO_RADIATOR_HTML;
andrewboyson 0:b843d647695c 28 if (HttpSameStr(pPath, "/radiator-ajax")) return DO_RADIATOR_AJAX;
andrewboyson 0:b843d647695c 29 if (HttpSameStr(pPath, "/boiler" )) return DO_BOILER_HTML;
andrewboyson 0:b843d647695c 30 if (HttpSameStr(pPath, "/boiler-ajax" )) return DO_BOILER_AJAX;
andrewboyson 0:b843d647695c 31 if (HttpSameStr(pPath, "/system" )) return DO_SYSTEM_HTML;
andrewboyson 0:b843d647695c 32 if (HttpSameStr(pPath, "/system-ajax" )) return DO_SYSTEM_AJAX;
andrewboyson 0:b843d647695c 33 if (HttpSameStr(pPath, "/1wire" )) return DO_1WIRE_HTML;
andrewboyson 0:b843d647695c 34 if (HttpSameStr(pPath, "/1wire-ajax" )) return DO_1WIRE_AJAX;
andrewboyson 0:b843d647695c 35
andrewboyson 0:b843d647695c 36 if (HttpSameStr(pPath, "/program.js" )) return HttpSameDate(WebProgramScriptDate, WebProgramScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_PROGRAM_SCRIPT;
andrewboyson 0:b843d647695c 37 if (HttpSameStr(pPath, "/radiator.js" )) return HttpSameDate(WebRadiatorScriptDate, WebRadiatorScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_RADIATOR_SCRIPT;
andrewboyson 0:b843d647695c 38 if (HttpSameStr(pPath, "/boiler.js" )) return HttpSameDate(WebBoilerScriptDate, WebBoilerScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_BOILER_SCRIPT;
andrewboyson 0:b843d647695c 39 if (HttpSameStr(pPath, "/system.js" )) return HttpSameDate(WebSystemScriptDate, WebSystemScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_SYSTEM_SCRIPT;
andrewboyson 0:b843d647695c 40 if (HttpSameStr(pPath, "/1wire.js" )) return HttpSameDate(WebOneWireScriptDate, WebOneWireScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_1WIRE_SCRIPT;
andrewboyson 0:b843d647695c 41
andrewboyson 0:b843d647695c 42 return DO_NOT_FOUND;
andrewboyson 0:b843d647695c 43 }
andrewboyson 0:b843d647695c 44
andrewboyson 0:b843d647695c 45 bool WebServerThisHandleQuery(int todo, char* pQuery)
andrewboyson 0:b843d647695c 46 {
andrewboyson 0:b843d647695c 47 switch (todo)
andrewboyson 0:b843d647695c 48 {
andrewboyson 0:b843d647695c 49 case DO_PROGRAM_AJAX: WebProgramQuery (pQuery); return true;
andrewboyson 0:b843d647695c 50 case DO_PROGRAM_HTML: WebProgramQuery (pQuery); return true;
andrewboyson 0:b843d647695c 51 case DO_RADIATOR_HTML: WebRadiatorQuery(pQuery); return true;
andrewboyson 0:b843d647695c 52 case DO_RADIATOR_AJAX: WebRadiatorQuery(pQuery); return true;
andrewboyson 0:b843d647695c 53 case DO_BOILER_HTML: WebBoilerQuery (pQuery); return true;
andrewboyson 0:b843d647695c 54 case DO_BOILER_AJAX: WebBoilerQuery (pQuery); return true;
andrewboyson 0:b843d647695c 55 case DO_SYSTEM_HTML: WebSystemQuery (pQuery); return true;
andrewboyson 0:b843d647695c 56 case DO_SYSTEM_AJAX: WebSystemQuery (pQuery); return true;
andrewboyson 0:b843d647695c 57 case DO_1WIRE_HTML: WebOneWireQuery (pQuery); return true;
andrewboyson 0:b843d647695c 58 case DO_1WIRE_AJAX: WebOneWireQuery (pQuery); return true;
andrewboyson 0:b843d647695c 59 }
andrewboyson 0:b843d647695c 60 return false;
andrewboyson 0:b843d647695c 61 }
andrewboyson 0:b843d647695c 62 bool WebServerThisPost(int todo, int contentLength, int contentStart, int size, char* pRequestStream, uint32_t positionInRequestStream, bool* pComplete)
andrewboyson 0:b843d647695c 63 {
andrewboyson 0:b843d647695c 64 return false;
andrewboyson 0:b843d647695c 65 }
andrewboyson 0:b843d647695c 66 bool WebServerThisReply(int todo)
andrewboyson 0:b843d647695c 67 {
andrewboyson 0:b843d647695c 68 switch (todo)
andrewboyson 0:b843d647695c 69 {
andrewboyson 0:b843d647695c 70 case DO_HOME_HTML: WebHomeHtml (); return true;
andrewboyson 0:b843d647695c 71 case DO_PROGRAM_HTML: WebProgramHtml (); return true;
andrewboyson 0:b843d647695c 72 case DO_PROGRAM_AJAX: WebProgramAjax (); return true;
andrewboyson 0:b843d647695c 73 case DO_PROGRAM_SCRIPT: WebProgramScript (); return true;
andrewboyson 0:b843d647695c 74 case DO_RADIATOR_HTML: WebRadiatorHtml (); return true;
andrewboyson 0:b843d647695c 75 case DO_RADIATOR_AJAX: WebRadiatorAjax (); return true;
andrewboyson 0:b843d647695c 76 case DO_RADIATOR_SCRIPT: WebRadiatorScript(); return true;
andrewboyson 0:b843d647695c 77 case DO_BOILER_HTML: WebBoilerHtml (); return true;
andrewboyson 0:b843d647695c 78 case DO_BOILER_AJAX: WebBoilerAjax (); return true;
andrewboyson 0:b843d647695c 79 case DO_BOILER_SCRIPT: WebBoilerScript (); return true;
andrewboyson 0:b843d647695c 80 case DO_SYSTEM_HTML: WebSystemHtml (); return true;
andrewboyson 0:b843d647695c 81 case DO_SYSTEM_AJAX: WebSystemAjax (); return true;
andrewboyson 0:b843d647695c 82 case DO_SYSTEM_SCRIPT: WebSystemScript (); return true;
andrewboyson 0:b843d647695c 83 case DO_1WIRE_HTML: WebOneWireHtml (); return true;
andrewboyson 0:b843d647695c 84 case DO_1WIRE_AJAX: WebOneWireAjax (); return true;
andrewboyson 0:b843d647695c 85 case DO_1WIRE_SCRIPT: WebOneWireScript (); return true;
andrewboyson 0:b843d647695c 86 }
andrewboyson 0:b843d647695c 87 return false;
andrewboyson 0:b843d647695c 88 }