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:
Tue Sep 15 10:02:32 2015 +0000
Revision:
12:779246d391c0
Parent:
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 7:8d030ae8ddc3 3 LocalFileSystem2 lf("local");
nyatla 9:a70e98dd2a25 4
nyatla 6:bcf3fe4d0ba1 5 /**
nyatla 9:a70e98dd2a25 6 * This program is simplest httpd.
nyatla 9:a70e98dd2a25 7 * The program echo back yuor request in html.
nyatla 6:bcf3fe4d0ba1 8 */
nyatla 7:8d030ae8ddc3 9 class SimpleHttpd:public MiMic::Httpd
nyatla 0:ec1e45489427 10 {
nyatla 0:ec1e45489427 11 private:
nyatla 0:ec1e45489427 12 ModUrl modurl; //basic URL parser
nyatla 0:ec1e45489427 13 public:
nyatla 9:a70e98dd2a25 14 SimpleHttpd(NetConfig& i_cfg):Httpd(i_cfg.getHttpPort())
nyatla 0:ec1e45489427 15 {
nyatla 0:ec1e45489427 16 }
nyatla 0:ec1e45489427 17 virtual void onRequest(HttpdConnection& i_connection)
nyatla 0:ec1e45489427 18 {
nyatla 6:bcf3fe4d0ba1 19 char url[32];
nyatla 0:ec1e45489427 20 int method;
nyatla 7:8d030ae8ddc3 21
nyatla 7:8d030ae8ddc3 22 //
nyatla 7:8d030ae8ddc3 23 //write Http handler(s) here!
nyatla 7:8d030ae8ddc3 24 //
nyatla 7:8d030ae8ddc3 25
nyatla 2:28fd59d6be76 26 //call ModUrl module.
nyatla 6:bcf3fe4d0ba1 27 if(this->modurl.execute(i_connection,url,32,&method)){
nyatla 6:bcf3fe4d0ba1 28 //send 200 OK and requested URL
nyatla 6:bcf3fe4d0ba1 29 i_connection.sendHeader(200,"text/html",NULL);
nyatla 6:bcf3fe4d0ba1 30 i_connection.sendBodyF("<html><body>Your Request path is %s.</body></html>",url);
nyatla 0:ec1e45489427 31 return;
nyatla 0:ec1e45489427 32 }
nyatla 7:8d030ae8ddc3 33
nyatla 0:ec1e45489427 34 return;
nyatla 0:ec1e45489427 35 }
nyatla 0:ec1e45489427 36 };
nyatla 7:8d030ae8ddc3 37
nyatla 7:8d030ae8ddc3 38 NetConfig cfg; //create network configulation
nyatla 0:ec1e45489427 39 int main()
nyatla 0:ec1e45489427 40 {
nyatla 7:8d030ae8ddc3 41 Net net; //create a net instance.
nyatla 7:8d030ae8ddc3 42
nyatla 7:8d030ae8ddc3 43 //try to override setting by local file.
nyatla 7:8d030ae8ddc3 44 cfg.loadFromFile("/local/mimic.cfg");
nyatla 9:a70e98dd2a25 45 cfg.setSrvUPnP(false);//disable UPnP
nyatla 9:a70e98dd2a25 46 cfg.setSrvMdns(false);//disable mDNS
nyatla 7:8d030ae8ddc3 47
nyatla 7:8d030ae8ddc3 48 SimpleHttpd httpd(cfg); //create a httpd instance.
nyatla 7:8d030ae8ddc3 49 net.start(cfg);
nyatla 0:ec1e45489427 50 httpd.loop(); //start httpd loop.
nyatla 0:ec1e45489427 51 return 0;
nyatla 0:ec1e45489427 52 }
nyatla 6:bcf3fe4d0ba1 53