student test for professor

Dependencies:   EthernetInterface mbed-rpc mbed-rtos mbed

Fork of HTTP-Server by Francois Berder

Committer:
pricegc2
Date:
Tue Oct 14 19:48:41 2014 +0000
Revision:
11:8d63f2e3d152
Parent:
9:a9bf63017854
rev 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
feb11 0:9e4bcb10b3e3 1 #include "mbed.h"
feb11 0:9e4bcb10b3e3 2 #include "EthernetInterface.h"
feb11 0:9e4bcb10b3e3 3 #include "mbed_rpc.h"
feb11 0:9e4bcb10b3e3 4 #include "RPCCommand.h"
feb11 0:9e4bcb10b3e3 5 #include "HTTPServer.h"
feb11 0:9e4bcb10b3e3 6 #include "Formatter.h"
feb11 0:9e4bcb10b3e3 7 #include "RequestHandler.h"
feb11 0:9e4bcb10b3e3 8 #include "RPCType.h"
feb11 0:9e4bcb10b3e3 9
feb11 0:9e4bcb10b3e3 10 #define SERVER_PORT 80
pricegc2 11:8d63f2e3d152 11 const char ip_addr[17] = "192.168.0.50";
pricegc2 11:8d63f2e3d152 12 const char gateway[17] = "192.168.0.1";
pricegc2 11:8d63f2e3d152 13 const char networkmask[17] = "255.255.255.0";
pricegc2 11:8d63f2e3d152 14
feb11 0:9e4bcb10b3e3 15
feb11 0:9e4bcb10b3e3 16 HTTPServer create_simple_server()
feb11 0:9e4bcb10b3e3 17 {
feb11 0:9e4bcb10b3e3 18 HTTPServer srv;
feb11 0:9e4bcb10b3e3 19 srv.add_request_handler("DELETE", new DeleteRequestHandler());
feb11 0:9e4bcb10b3e3 20 srv.add_request_handler("GET", new GetRequestHandler());
feb11 0:9e4bcb10b3e3 21 srv.add_request_handler("PUT", new PutRequestHandler());
feb11 0:9e4bcb10b3e3 22 return srv;
feb11 0:9e4bcb10b3e3 23 }
feb11 0:9e4bcb10b3e3 24
feb11 0:9e4bcb10b3e3 25 HTTPServer create_interactive_server()
feb11 0:9e4bcb10b3e3 26 {
feb11 0:9e4bcb10b3e3 27 HTTPServer srv(new InteractiveHTMLFormatter());
feb11 0:9e4bcb10b3e3 28 srv.add_request_handler("GET", new ComplexRequestHandler());
feb11 0:9e4bcb10b3e3 29 return srv;
feb11 0:9e4bcb10b3e3 30 }
feb11 0:9e4bcb10b3e3 31
feb11 0:9e4bcb10b3e3 32 int main(void)
feb11 0:9e4bcb10b3e3 33 {
feb11 0:9e4bcb10b3e3 34 RPCType::instance().register_types();
feb11 0:9e4bcb10b3e3 35
feb11 0:9e4bcb10b3e3 36 EthernetInterface eth;
pricegc2 11:8d63f2e3d152 37 if(eth.init(ip_addr, networkmask, gateway))
feb11 9:a9bf63017854 38 {
feb11 9:a9bf63017854 39 printf("Error while initializing the ethernet interface.\n");
feb11 9:a9bf63017854 40 return -1;
feb11 9:a9bf63017854 41 }
feb11 9:a9bf63017854 42 if(eth.connect())
feb11 9:a9bf63017854 43 {
feb11 9:a9bf63017854 44 printf("Error while starting the ethernet interface.\n");
feb11 9:a9bf63017854 45 return -1;
feb11 9:a9bf63017854 46 }
feb11 9:a9bf63017854 47
feb11 0:9e4bcb10b3e3 48 printf("IP Address is %s\n", eth.getIPAddress());
feb11 0:9e4bcb10b3e3 49
feb11 3:fb0a778f2480 50 HTTPServer srv = create_interactive_server();
feb11 0:9e4bcb10b3e3 51
feb11 0:9e4bcb10b3e3 52 if(!srv.init(SERVER_PORT))
feb11 0:9e4bcb10b3e3 53 {
feb11 0:9e4bcb10b3e3 54 eth.disconnect();
feb11 0:9e4bcb10b3e3 55 return -1;
feb11 0:9e4bcb10b3e3 56 }
feb11 0:9e4bcb10b3e3 57
feb11 0:9e4bcb10b3e3 58 srv.run();
feb11 0:9e4bcb10b3e3 59
feb11 0:9e4bcb10b3e3 60 return 0;
feb11 0:9e4bcb10b3e3 61 }
feb11 0:9e4bcb10b3e3 62