Monitor motorhome leisure battery and provide simple control of habitation
Dependencies: net lpc1768 crypto clock web fram log
web-this/web-server-this.c@3:b96c6f6bbffc, 2021-04-18 (annotated)
- Committer:
- andrewboyson
- Date:
- Sun Apr 18 19:05:35 2021 +0000
- Revision:
- 3:b96c6f6bbffc
- Parent:
- 0:b843d647695c
- Child:
- 9:d957af50fdc2
Added WIZ module to control WIZ lights.
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 | 3:b96c6f6bbffc | 21 | #define DO_WIZ_HTML DO_THIS + 16 |
andrewboyson | 3:b96c6f6bbffc | 22 | #define DO_WIZ_AJAX DO_THIS + 17 |
andrewboyson | 3:b96c6f6bbffc | 23 | #define DO_WIZ_SCRIPT DO_THIS + 18 |
andrewboyson | 0:b843d647695c | 24 | |
andrewboyson | 0:b843d647695c | 25 | int WebServerThisDecideWhatToDo(char *pPath, char* pLastModified) |
andrewboyson | 0:b843d647695c | 26 | { |
andrewboyson | 0:b843d647695c | 27 | if (HttpSameStr(pPath, "/" )) return DO_HOME_HTML; |
andrewboyson | 0:b843d647695c | 28 | if (HttpSameStr(pPath, "/program" )) return DO_PROGRAM_HTML; |
andrewboyson | 0:b843d647695c | 29 | if (HttpSameStr(pPath, "/program-ajax" )) return DO_PROGRAM_AJAX; |
andrewboyson | 0:b843d647695c | 30 | if (HttpSameStr(pPath, "/radiator" )) return DO_RADIATOR_HTML; |
andrewboyson | 0:b843d647695c | 31 | if (HttpSameStr(pPath, "/radiator-ajax")) return DO_RADIATOR_AJAX; |
andrewboyson | 0:b843d647695c | 32 | if (HttpSameStr(pPath, "/boiler" )) return DO_BOILER_HTML; |
andrewboyson | 0:b843d647695c | 33 | if (HttpSameStr(pPath, "/boiler-ajax" )) return DO_BOILER_AJAX; |
andrewboyson | 0:b843d647695c | 34 | if (HttpSameStr(pPath, "/system" )) return DO_SYSTEM_HTML; |
andrewboyson | 0:b843d647695c | 35 | if (HttpSameStr(pPath, "/system-ajax" )) return DO_SYSTEM_AJAX; |
andrewboyson | 0:b843d647695c | 36 | if (HttpSameStr(pPath, "/1wire" )) return DO_1WIRE_HTML; |
andrewboyson | 0:b843d647695c | 37 | if (HttpSameStr(pPath, "/1wire-ajax" )) return DO_1WIRE_AJAX; |
andrewboyson | 3:b96c6f6bbffc | 38 | if (HttpSameStr(pPath, "/wiz" )) return DO_WIZ_HTML; |
andrewboyson | 3:b96c6f6bbffc | 39 | if (HttpSameStr(pPath, "/wiz-ajax" )) return DO_WIZ_AJAX; |
andrewboyson | 0:b843d647695c | 40 | |
andrewboyson | 0:b843d647695c | 41 | if (HttpSameStr(pPath, "/program.js" )) return HttpSameDate(WebProgramScriptDate, WebProgramScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_PROGRAM_SCRIPT; |
andrewboyson | 0:b843d647695c | 42 | if (HttpSameStr(pPath, "/radiator.js" )) return HttpSameDate(WebRadiatorScriptDate, WebRadiatorScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_RADIATOR_SCRIPT; |
andrewboyson | 0:b843d647695c | 43 | if (HttpSameStr(pPath, "/boiler.js" )) return HttpSameDate(WebBoilerScriptDate, WebBoilerScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_BOILER_SCRIPT; |
andrewboyson | 0:b843d647695c | 44 | if (HttpSameStr(pPath, "/system.js" )) return HttpSameDate(WebSystemScriptDate, WebSystemScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_SYSTEM_SCRIPT; |
andrewboyson | 0:b843d647695c | 45 | if (HttpSameStr(pPath, "/1wire.js" )) return HttpSameDate(WebOneWireScriptDate, WebOneWireScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_1WIRE_SCRIPT; |
andrewboyson | 3:b96c6f6bbffc | 46 | if (HttpSameStr(pPath, "/wiz.js" )) return HttpSameDate(WebWizScriptDate, WebWizScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_WIZ_SCRIPT; |
andrewboyson | 0:b843d647695c | 47 | |
andrewboyson | 0:b843d647695c | 48 | return DO_NOT_FOUND; |
andrewboyson | 0:b843d647695c | 49 | } |
andrewboyson | 0:b843d647695c | 50 | |
andrewboyson | 0:b843d647695c | 51 | bool WebServerThisHandleQuery(int todo, char* pQuery) |
andrewboyson | 0:b843d647695c | 52 | { |
andrewboyson | 0:b843d647695c | 53 | switch (todo) |
andrewboyson | 0:b843d647695c | 54 | { |
andrewboyson | 0:b843d647695c | 55 | case DO_PROGRAM_AJAX: WebProgramQuery (pQuery); return true; |
andrewboyson | 0:b843d647695c | 56 | case DO_PROGRAM_HTML: WebProgramQuery (pQuery); return true; |
andrewboyson | 0:b843d647695c | 57 | case DO_RADIATOR_HTML: WebRadiatorQuery(pQuery); return true; |
andrewboyson | 0:b843d647695c | 58 | case DO_RADIATOR_AJAX: WebRadiatorQuery(pQuery); return true; |
andrewboyson | 0:b843d647695c | 59 | case DO_BOILER_HTML: WebBoilerQuery (pQuery); return true; |
andrewboyson | 0:b843d647695c | 60 | case DO_BOILER_AJAX: WebBoilerQuery (pQuery); return true; |
andrewboyson | 0:b843d647695c | 61 | case DO_SYSTEM_HTML: WebSystemQuery (pQuery); return true; |
andrewboyson | 0:b843d647695c | 62 | case DO_SYSTEM_AJAX: WebSystemQuery (pQuery); return true; |
andrewboyson | 0:b843d647695c | 63 | case DO_1WIRE_HTML: WebOneWireQuery (pQuery); return true; |
andrewboyson | 0:b843d647695c | 64 | case DO_1WIRE_AJAX: WebOneWireQuery (pQuery); return true; |
andrewboyson | 3:b96c6f6bbffc | 65 | case DO_WIZ_HTML: WebWizQuery (pQuery); return true; |
andrewboyson | 3:b96c6f6bbffc | 66 | case DO_WIZ_AJAX: WebWizQuery (pQuery); return true; |
andrewboyson | 0:b843d647695c | 67 | } |
andrewboyson | 0:b843d647695c | 68 | return false; |
andrewboyson | 0:b843d647695c | 69 | } |
andrewboyson | 0:b843d647695c | 70 | bool WebServerThisPost(int todo, int contentLength, int contentStart, int size, char* pRequestStream, uint32_t positionInRequestStream, bool* pComplete) |
andrewboyson | 0:b843d647695c | 71 | { |
andrewboyson | 0:b843d647695c | 72 | return false; |
andrewboyson | 0:b843d647695c | 73 | } |
andrewboyson | 0:b843d647695c | 74 | bool WebServerThisReply(int todo) |
andrewboyson | 0:b843d647695c | 75 | { |
andrewboyson | 0:b843d647695c | 76 | switch (todo) |
andrewboyson | 0:b843d647695c | 77 | { |
andrewboyson | 0:b843d647695c | 78 | case DO_HOME_HTML: WebHomeHtml (); return true; |
andrewboyson | 0:b843d647695c | 79 | case DO_PROGRAM_HTML: WebProgramHtml (); return true; |
andrewboyson | 0:b843d647695c | 80 | case DO_PROGRAM_AJAX: WebProgramAjax (); return true; |
andrewboyson | 0:b843d647695c | 81 | case DO_PROGRAM_SCRIPT: WebProgramScript (); return true; |
andrewboyson | 0:b843d647695c | 82 | case DO_RADIATOR_HTML: WebRadiatorHtml (); return true; |
andrewboyson | 0:b843d647695c | 83 | case DO_RADIATOR_AJAX: WebRadiatorAjax (); return true; |
andrewboyson | 0:b843d647695c | 84 | case DO_RADIATOR_SCRIPT: WebRadiatorScript(); return true; |
andrewboyson | 0:b843d647695c | 85 | case DO_BOILER_HTML: WebBoilerHtml (); return true; |
andrewboyson | 0:b843d647695c | 86 | case DO_BOILER_AJAX: WebBoilerAjax (); return true; |
andrewboyson | 0:b843d647695c | 87 | case DO_BOILER_SCRIPT: WebBoilerScript (); return true; |
andrewboyson | 0:b843d647695c | 88 | case DO_SYSTEM_HTML: WebSystemHtml (); return true; |
andrewboyson | 0:b843d647695c | 89 | case DO_SYSTEM_AJAX: WebSystemAjax (); return true; |
andrewboyson | 0:b843d647695c | 90 | case DO_SYSTEM_SCRIPT: WebSystemScript (); return true; |
andrewboyson | 0:b843d647695c | 91 | case DO_1WIRE_HTML: WebOneWireHtml (); return true; |
andrewboyson | 0:b843d647695c | 92 | case DO_1WIRE_AJAX: WebOneWireAjax (); return true; |
andrewboyson | 0:b843d647695c | 93 | case DO_1WIRE_SCRIPT: WebOneWireScript (); return true; |
andrewboyson | 3:b96c6f6bbffc | 94 | case DO_WIZ_HTML: WebWizHtml (); return true; |
andrewboyson | 3:b96c6f6bbffc | 95 | case DO_WIZ_AJAX: WebWizAjax (); return true; |
andrewboyson | 3:b96c6f6bbffc | 96 | case DO_WIZ_SCRIPT: WebWizScript (); return true; |
andrewboyson | 0:b843d647695c | 97 | } |
andrewboyson | 0:b843d647695c | 98 | return false; |
andrewboyson | 0:b843d647695c | 99 | } |