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.
Dependencies: mbed NyFileSystems mbed-rtos libMiMic
Diff: main.cpp
- Revision:
- 5:6a2a1644ea2c
- Parent:
- 4:0a280ed0a848
- Child:
- 6:20dcb08e1b43
--- a/main.cpp Tue Apr 09 10:48:14 2013 +0000
+++ b/main.cpp Sun Apr 28 13:33:36 2013 +0000
@@ -8,6 +8,8 @@
* 3. You can see <filename> file on browser.
* </pre>
*/
+#include "mbed.h"
+#include "SDFileSystem.h"
#include "mimic.h"
@@ -15,34 +17,53 @@
* local filesystem support.
*/
LocalFileSystem lf("local");
+SDFileSystem sd(p5, p6, p7, p8,"sd");
/**
* MiMic RemoteMCU httpd.<br/>
+ * Number of simultaneous connections:4
* <p>Service list</p>
* <pre>
* /local/ - mbed LocalFileSystem
* </pre>
*/
-class LfsHttpd:public MiMic::Httpd
+class FsHttpd:public MiMic::Httpd
{
private:
- ModLocalFileSystem modurl; //basic URL parser
+ ModLocalFileSystem modlocal;
+ ModLocalFileSystem modsd;
public:
- LfsHttpd():Httpd(80)
+ FsHttpd():Httpd(80)
{
//bind local file system path to /local/*
- modurl.setParam("local");
+ modlocal.setParam("local");
+ modsd.setParam("sd");
}
virtual void onRequest(HttpdConnection& i_connection)
{
- //call ModUrl module.
- if(!this->modurl.execute(i_connection)){
- //send 430
- i_connection.sendHeader(403,"text/html",NULL);
- i_connection.sendBodyF("<html><body>403 Forbidden</body></html>");
+ //try to ModLocalFileSystem
+ if(this->modlocal.execute(i_connection)){
+ return;
+ }
+ //try to ModLocalFileSystem(SD)
+ if(this->modsd.execute(i_connection)){
return;
}
- return;
+ //Otherwise, Send simple top index page.
+ i_connection.sendHeader(200,"text/html",NULL);
+ if(i_connection.isMethodType(Http::MT_GET)){
+ i_connection.sendBodyF(
+ "<!DOCTYPE html>"
+ "<html lang=\"ja\">"
+ "<head></head>"
+ "<body>"
+ "<h1>This is MiMic Server!</h1>"
+ "<hr/>"
+ "<ul>"
+ "<li><a href=\"/local/\">mbed Local Filesystem</a></li>"
+ "<li><a href=\"/sd/\">SDCard</a></li>"
+ "</ul></body>");
+ }
}
};
@@ -50,7 +71,11 @@
{
NetConfig cfg; //create network configulation
Net net(cfg); //create a net instance.
- LfsHttpd httpd; //create a httpd instance.
+ //try to override setting by local file.
+ if(!cfg.loadFromFile("/local/mimic.cfg")){
+ cfg.loadFromFile("/sd/mimic.cfg");
+ }
+ FsHttpd httpd; //create a httpd instance.
httpd.loop(); //start httpd loop.
return 0;
}