Andrew Boyson / gps

Dependencies:   net lpc1768 crypto clock web log

web-derived/web-server-derived.c

Committer:
andrewboyson
Date:
2019-04-29
Revision:
57:2d54e570de60
Child:
58:3f3e000151cc

File content as of revision 57:2d54e570de60:

#include "http.h"
#include "web-server-base.h"
#include "web-derived.h"
#include "web-base.h"

#define DO_HOME_HTML   DO_DERIVED + 0
#define DO_HOME_AJAX   DO_DERIVED + 1
#define DO_HOME_SCRIPT DO_DERIVED + 2
#define DO_NMEA_HTML   DO_DERIVED + 3
#define DO_NMEA_AJAX   DO_DERIVED + 4
#define DO_NMEA_SCRIPT DO_DERIVED + 5

int WebServerDerivedRequest(char *pPath, char* pLastModified)
{
    if (HttpSameStr(pPath, "/"          )) return DO_HOME_HTML;
    if (HttpSameStr(pPath, "/home-ajax" )) return DO_HOME_AJAX;
    if (HttpSameStr(pPath, "/nmea"      )) return DO_NMEA_HTML;
    if (HttpSameStr(pPath, "/nmea-ajax" )) return DO_NMEA_AJAX;
    
    if (HttpSameStr(pPath, "/home.js"   )) return HttpSameDate(WebHomeScriptDate, WebHomeScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_HOME_SCRIPT;
    if (HttpSameStr(pPath, "/nmea.js"   )) return HttpSameDate(WebNmeaScriptDate, WebNmeaScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_NMEA_SCRIPT;
    
    return DO_NOT_FOUND;
}

void WebServerDerivedGet(int todo, char* pQuery)
{
    switch (todo)
    {
        case DO_HOME_AJAX: WebClockQuery(pQuery); return;
        case DO_NMEA_HTML: WebNmeaQuery (pQuery); return;
        case DO_NMEA_AJAX: WebNmeaQuery (pQuery); return;
    }
}
bool WebServerDerivedPost(int todo, int contentLength, int size, char* pRequestStream, uint32_t positionInRequestStream)
{
    return true;
}
void WebServerDerivedReply(int todo)
{
    switch (todo)
    {
        case DO_HOME_HTML:   WebHomeHtml  (); return;
        case DO_HOME_AJAX:   WebHomeAjax  (); return;
        case DO_HOME_SCRIPT: WebHomeScript(); return;
        case DO_NMEA_HTML:   WebNmeaHtml  (); return;
        case DO_NMEA_AJAX:   WebNmeaAjax  (); return;
        case DO_NMEA_SCRIPT: WebNmeaScript(); return;
    }
}