Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: RdBlindsServer SpideyWallWeb RdGasUseMonitor
Diff: RdWebServer.cpp
- Revision:
- 13:4f9c09d3da13
- Parent:
- 12:c14ffd4ec125
- Child:
- 14:4b83670854f0
diff -r c14ffd4ec125 -r 4f9c09d3da13 RdWebServer.cpp
--- a/RdWebServer.cpp Sun May 03 20:41:35 2015 +0000
+++ b/RdWebServer.cpp Mon May 04 17:26:32 2015 +0000
@@ -10,6 +10,7 @@
#define MAX_CMDSTR_LEN 100
#define MAX_ARGSTR_LEN 100
+#define MAX_FILENAME_LEN (MAX_ARGSTR_LEN + 20)
RdWebServer::RdWebServer()
{
@@ -26,8 +27,6 @@
bool RdWebServer::init(int port, DigitalOut* pStatusLed, char* pBaseWebFolder)
{
- printf("Here\r\n");
- RD_INFO("Here\r\n");
_port = port;
_pStatusLed = pStatusLed;
_pBaseWebFolder = pBaseWebFolder;
@@ -90,16 +89,32 @@
else if ((*it)->_cmdType == RdWebServerCmdDef::CMD_LOCALFILE)
{
if ((*it)->_substFileName[0] != '\0')
- handleLocalFileRequest((*it)->_substFileName, argStr, client, _httpHeader, (*it)->_bCacheIfPossible);
+ {
+ char combinedFileName[MAX_FILENAME_LEN];
+ strcpy(combinedFileName, (*it)->_substFileName);
+ if (combinedFileName[strlen(combinedFileName)-1] == '*')
+ strcpy(combinedFileName+strlen(combinedFileName)-1, argStr);
+ handleLocalFileRequest(combinedFileName, argStr, client, _httpHeader, (*it)->_bCacheIfPossible);
+ }
else
+ {
handleLocalFileRequest(cmdStr, argStr, client, _httpHeader, (*it)->_bCacheIfPossible);
+ }
}
else if ((*it)->_cmdType == RdWebServerCmdDef::CMD_SDORUSBFILE)
{
if ((*it)->_substFileName[0] != '\0')
- handleSDFileRequest((*it)->_substFileName, argStr, client, _httpHeader);
+ {
+ char combinedFileName[MAX_FILENAME_LEN];
+ strcpy(combinedFileName, (*it)->_substFileName);
+ if (combinedFileName[strlen(combinedFileName)-1] == '*')
+ strcpy(combinedFileName+strlen(combinedFileName)-1, argStr);
+ handleSDFileRequest(combinedFileName, argStr, client, _httpHeader);
+ }
else
+ {
handleSDFileRequest(cmdStr, argStr, client, _httpHeader);
+ }
}
break;
}
@@ -143,6 +158,7 @@
int rxLen = client.receive(_buffer, HTTPD_MAX_REQ_LENGTH);
if (rxLen == -1)
{
+ RD_WARN("Nothing received\n\r");
continue;
}
else if (rxLen == 0)