#include "web-server.h" #include "espfs.h" #include "config.h" #include "cgi.h" char * webServerPages = NULL; char * ICACHE_FLASH_ATTR webServerUserPages() { return webServerPages; } void ICACHE_FLASH_ATTR webServerBrowseFiles() { char buffer[1024]; buffer[0] = 0; if( espFsIsValid( userPageCtx ) ) { EspFsIterator it; espFsIteratorInit(userPageCtx, &it); while( espFsIteratorNext(&it) ) { int nlen = os_strlen(it.name); if( nlen >= 6 ) { if( os_strcmp( it.name + nlen-5, ".html" ) == 0 ) { char sh_name[17]; int spos = nlen-5; while( spos > 0 ) { if( it.name[spos+1] == '/' ) break; spos--; } int ps = nlen-5-spos; if( ps > 16 ) ps = 16; os_memcpy(sh_name, it.name + spos, ps); sh_name[ps] = 0; os_strcat(buffer, ", \""); os_strcat(buffer, sh_name); os_strcat(buffer, "\", \"/"); os_strcat(buffer, it.name); os_strcat(buffer, "\""); } } if( os_strlen(buffer) > 600 ) break; } } if( webServerPages != NULL ) os_free( webServerPages ); int len = os_strlen(buffer) + 1; webServerPages = (char *)os_malloc( len ); os_memcpy( webServerPages, buffer, len ); } void ICACHE_FLASH_ATTR webServerInit() { espFsInit(userPageCtx, (void *)getUserPageSectionStart(), ESPFS_FLASH); if( espFsIsValid( userPageCtx ) ) os_printf("Valid user file system found!\n"); else os_printf("No user file system found!\n"); webServerBrowseFiles(); } int ICACHE_FLASH_ATTR webServerProcessJsonQuery(HttpdConnData *connData) { os_printf("URL: %s\n", connData->url); errorResponse(connData, 400, "Slip protocol is not enabled!"); return HTTPD_CGI_DONE; }