MiMic WebServer port to LPC1768-Mini-DK2 (Alpha ver.) *On uVision4(MDK-STD), -O2 option is required to run.
Dependencies: NySDFileSystem 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 | } |