This is a simplest HTTP server made ​​of libMiMic. It will echo back a request path.

Dependencies:   libMiMic mbed-rtos mbed NySDFileSystem

最も簡単なhttpdです。 クライアントから送信されてきたURLをHtmlにして返します。

ModUrlモジュールのサンプルでもあります。

This program is simple httpserver.

This is tutorial for ModUrl module.

Committer:
nyatla
Date:
Thu Jul 11 01:11:26 2013 +0000
Revision:
7:8d030ae8ddc3
Parent:
6:bcf3fe4d0ba1
Child:
9:a70e98dd2a25
update libMiMic

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyatla 0:ec1e45489427 1 #include "mimic.h"
nyatla 6:bcf3fe4d0ba1 2
nyatla 6:bcf3fe4d0ba1 3
nyatla 7:8d030ae8ddc3 4 LocalFileSystem2 lf("local");
nyatla 6:bcf3fe4d0ba1 5 /**
nyatla 7:8d030ae8ddc3 6 *
nyatla 6:bcf3fe4d0ba1 7 */
nyatla 7:8d030ae8ddc3 8 class SimpleHttpd:public MiMic::Httpd
nyatla 0:ec1e45489427 9 {
nyatla 0:ec1e45489427 10 private:
nyatla 0:ec1e45489427 11 ModUrl modurl; //basic URL parser
nyatla 0:ec1e45489427 12 public:
nyatla 7:8d030ae8ddc3 13 SimpleHttpd(NetConfig& i_cfg):Httpd(i_cfg._inst.services.http_port)
nyatla 0:ec1e45489427 14 {
nyatla 0:ec1e45489427 15 }
nyatla 0:ec1e45489427 16 virtual void onRequest(HttpdConnection& i_connection)
nyatla 0:ec1e45489427 17 {
nyatla 6:bcf3fe4d0ba1 18 char url[32];
nyatla 0:ec1e45489427 19 int method;
nyatla 7:8d030ae8ddc3 20
nyatla 7:8d030ae8ddc3 21 //
nyatla 7:8d030ae8ddc3 22 //write Http handler(s) here!
nyatla 7:8d030ae8ddc3 23 //
nyatla 7:8d030ae8ddc3 24
nyatla 2:28fd59d6be76 25 //call ModUrl module.
nyatla 6:bcf3fe4d0ba1 26 if(this->modurl.execute(i_connection,url,32,&method)){
nyatla 6:bcf3fe4d0ba1 27 //send 200 OK and requested URL
nyatla 6:bcf3fe4d0ba1 28 i_connection.sendHeader(200,"text/html",NULL);
nyatla 6:bcf3fe4d0ba1 29 i_connection.sendBodyF("<html><body>Your Request path is %s.</body></html>",url);
nyatla 0:ec1e45489427 30 return;
nyatla 0:ec1e45489427 31 }
nyatla 7:8d030ae8ddc3 32
nyatla 0:ec1e45489427 33 return;
nyatla 0:ec1e45489427 34 }
nyatla 0:ec1e45489427 35 };
nyatla 7:8d030ae8ddc3 36
nyatla 7:8d030ae8ddc3 37 NetConfig cfg; //create network configulation
nyatla 0:ec1e45489427 38 int main()
nyatla 0:ec1e45489427 39 {
nyatla 7:8d030ae8ddc3 40 Net net; //create a net instance.
nyatla 7:8d030ae8ddc3 41
nyatla 7:8d030ae8ddc3 42 //try to override setting by local file.
nyatla 7:8d030ae8ddc3 43 cfg.loadFromFile("/local/mimic.cfg");
nyatla 7:8d030ae8ddc3 44
nyatla 7:8d030ae8ddc3 45 SimpleHttpd httpd(cfg); //create a httpd instance.
nyatla 7:8d030ae8ddc3 46 net.start(cfg);
nyatla 0:ec1e45489427 47 httpd.loop(); //start httpd loop.
nyatla 0:ec1e45489427 48 return 0;
nyatla 0:ec1e45489427 49 }
nyatla 6:bcf3fe4d0ba1 50