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: NyFileSystems libMiMic mbed-rtos mbed
Fork of MbedFileServer by
main.cpp@4:0a280ed0a848, 2013-04-09 (annotated)
- Committer:
 - nyatla
 - Date:
 - Tue Apr 09 10:48:14 2013 +0000
 - Revision:
 - 4:0a280ed0a848
 - Parent:
 - 3:77431c2bd9cb
 - Child:
 - 5:6a2a1644ea2c
 
update comment
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| nyatla | 4:0a280ed0a848 | 1 | /** | 
| nyatla | 4:0a280ed0a848 | 2 | * @file * This is ModLocalFileSystem sample program. | 
| nyatla | 4:0a280ed0a848 | 3 | * | 
| nyatla | 4:0a280ed0a848 | 4 | * <pre> | 
| nyatla | 4:0a280ed0a848 | 5 | * 1. Compile this program and write to your mbed. | 
| nyatla | 4:0a280ed0a848 | 6 | * 2. Write files for testing to mbed disk. | 
| nyatla | 4:0a280ed0a848 | 7 | * 2. Access via web browser to http://192.168.0.39/local/<filename> | 
| nyatla | 4:0a280ed0a848 | 8 | * 3. You can see <filename> file on browser. | 
| nyatla | 4:0a280ed0a848 | 9 | * </pre> | 
| nyatla | 4:0a280ed0a848 | 10 | */ | 
| nyatla | 0:ec1e45489427 | 11 | #include "mimic.h" | 
| nyatla | 0:ec1e45489427 | 12 | |
| nyatla | 0:ec1e45489427 | 13 | |
| nyatla | 3:77431c2bd9cb | 14 | /** | 
| nyatla | 3:77431c2bd9cb | 15 | * local filesystem support. | 
| nyatla | 3:77431c2bd9cb | 16 | */ | 
| nyatla | 3:77431c2bd9cb | 17 | LocalFileSystem lf("local"); | 
| nyatla | 0:ec1e45489427 | 18 | |
| nyatla | 0:ec1e45489427 | 19 | /** | 
| nyatla | 0:ec1e45489427 | 20 | * MiMic RemoteMCU httpd.<br/> | 
| nyatla | 0:ec1e45489427 | 21 | * <p>Service list</p> | 
| nyatla | 0:ec1e45489427 | 22 | * <pre> | 
| nyatla | 0:ec1e45489427 | 23 | * /local/ - mbed LocalFileSystem | 
| nyatla | 0:ec1e45489427 | 24 | * </pre> | 
| nyatla | 0:ec1e45489427 | 25 | */ | 
| nyatla | 3:77431c2bd9cb | 26 | class LfsHttpd:public MiMic::Httpd | 
| nyatla | 0:ec1e45489427 | 27 | { | 
| nyatla | 0:ec1e45489427 | 28 | private: | 
| nyatla | 3:77431c2bd9cb | 29 | ModLocalFileSystem modurl; //basic URL parser | 
| nyatla | 0:ec1e45489427 | 30 | public: | 
| nyatla | 3:77431c2bd9cb | 31 | LfsHttpd():Httpd(80) | 
| nyatla | 0:ec1e45489427 | 32 | { | 
| nyatla | 3:77431c2bd9cb | 33 | //bind local file system path to /local/* | 
| nyatla | 3:77431c2bd9cb | 34 | modurl.setParam("local"); | 
| nyatla | 0:ec1e45489427 | 35 | } | 
| nyatla | 0:ec1e45489427 | 36 | virtual void onRequest(HttpdConnection& i_connection) | 
| nyatla | 0:ec1e45489427 | 37 | { | 
| nyatla | 2:28fd59d6be76 | 38 | //call ModUrl module. | 
| nyatla | 3:77431c2bd9cb | 39 | if(!this->modurl.execute(i_connection)){ | 
| nyatla | 3:77431c2bd9cb | 40 | //send 430 | 
| nyatla | 3:77431c2bd9cb | 41 | i_connection.sendHeader(403,"text/html",NULL); | 
| nyatla | 3:77431c2bd9cb | 42 | i_connection.sendBodyF("<html><body>403 Forbidden</body></html>"); | 
| nyatla | 0:ec1e45489427 | 43 | return; | 
| nyatla | 0:ec1e45489427 | 44 | } | 
| nyatla | 0:ec1e45489427 | 45 | return; | 
| nyatla | 0:ec1e45489427 | 46 | } | 
| nyatla | 0:ec1e45489427 | 47 | }; | 
| nyatla | 0:ec1e45489427 | 48 | |
| nyatla | 0:ec1e45489427 | 49 | int main() | 
| nyatla | 0:ec1e45489427 | 50 | { | 
| nyatla | 0:ec1e45489427 | 51 | NetConfig cfg; //create network configulation | 
| nyatla | 0:ec1e45489427 | 52 | Net net(cfg); //create a net instance. | 
| nyatla | 3:77431c2bd9cb | 53 | LfsHttpd httpd; //create a httpd instance. | 
| nyatla | 0:ec1e45489427 | 54 | httpd.loop(); //start httpd loop. | 
| nyatla | 0:ec1e45489427 | 55 | return 0; | 
| nyatla | 0:ec1e45489427 | 56 | } | 
