各ピンへのread/writeを提供するサーバサンプル
Dependencies: NySNICInterface mbed-rtos mbed
Diff: HTTPServer.h
- Revision:
- 0:998e2e00df0c
diff -r 000000000000 -r 998e2e00df0c HTTPServer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HTTPServer.h Tue Feb 10 12:15:47 2015 +0000 @@ -0,0 +1,42 @@ +#ifndef HTTP_SERVER +#define HTTP_SERVER + +#include <map> +#include "mbed.h" +#include "SNIC_WifiInterface.h" +#include "TCPSocketServer.h" +#include "TCPSocketConnection.h" +#include "RequestHandler.h" +#include "RPCObject.h" + +#define HTTP_REPLY_MAX_STRING 1024 + +enum +{ + HTTP_200_OK = 200, + HTTP_400_BADREQUEST = 400, + HTTP_404_NOTFOUND = 404 +}; + + +class HTTPServer +{ + public : + HTTPServer(); + virtual ~HTTPServer(); + bool init(int port); + void run(); + void add_request_handler(char *name, RequestHandler* handler); + + private : + void handle_request(char* buffer); + void create_response(char* buffer); + TCPSocketServer socketserver; + std::map<char*, RequestHandler*, bool(*)(char*, char*)> handlers; + RPCObject object; + char reply[HTTP_REPLY_MAX_STRING]; + int response_code; +}; + +#endif +