Monitor motorhome leisure battery and provide simple control of habitation
Dependencies: net lpc1768 crypto clock web fram log
web-this/web-server-this.c@0:b843d647695c, 2021-01-14 (annotated)
- 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?
User | Revision | Line number | New 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 | } |