The lib with which to make LPC1768 a simple HTTP server. This have not yet implemented. fopen() DOESN'T WORK after EthernetInterface::connect() is called as using mbed-os 5.4~. See also https://os.mbed.com/questions/80658/HardFault-occurs-when-fopen-is-called-af/ or https://github.com/ARMmbed/mbed-os/issues/6578 and https://github.com/ARMmbed/mbed-os/issues/6624

Fork of HTTP_SERVER by Akifumi Takahashi

Committer:
aktk
Date:
Tue Feb 16 10:59:31 2016 +0000
Revision:
0:cc483bea4fe3
Child:
9:84aca9965f9f
add comment

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aktk 0:cc483bea4fe3 1 //HTTP_SERVER.h
aktk 0:cc483bea4fe3 2 #ifndef HTTP_SERVER_H
aktk 0:cc483bea4fe3 3 #define HTTP_SERVER_H
aktk 0:cc483bea4fe3 4 #include "mbed.h"
aktk 0:cc483bea4fe3 5 #include "EthernetInterface.h"
aktk 0:cc483bea4fe3 6 #include "ResponseMessenger.h"
aktk 0:cc483bea4fe3 7 #include "FileHandler.h"
aktk 0:cc483bea4fe3 8 #include "string.h"
aktk 0:cc483bea4fe3 9 #include <stdlib.h>
aktk 0:cc483bea4fe3 10 using namespace std;
aktk 0:cc483bea4fe3 11
aktk 0:cc483bea4fe3 12 enum PortNum {
aktk 0:cc483bea4fe3 13 TCP_PORT = 80
aktk 0:cc483bea4fe3 14 };
aktk 0:cc483bea4fe3 15
aktk 0:cc483bea4fe3 16 class HttpServer
aktk 0:cc483bea4fe3 17 {
aktk 0:cc483bea4fe3 18 public:
aktk 0:cc483bea4fe3 19 HttpServer();
aktk 0:cc483bea4fe3 20 ~HttpServer();
aktk 0:cc483bea4fe3 21 /**
aktk 0:cc483bea4fe3 22 * HTTP SERVER Initialization.
aktk 0:cc483bea4fe3 23 * This is called in the Constructor.
aktk 0:cc483bea4fe3 24 * You don't have to use but can call this if you have some reasons to init the server.
aktk 0:cc483bea4fe3 25 * @return result of init() as boolean.
aktk 0:cc483bea4fe3 26 * @retval TRUE SACCESS
aktk 0:cc483bea4fe3 27 * @retval FALSE
aktk 0:cc483bea4fe3 28 */
aktk 0:cc483bea4fe3 29 bool init();
aktk 0:cc483bea4fe3 30 /**
aktk 0:cc483bea4fe3 31 * Run the surver service while listening flag is true.
aktk 0:cc483bea4fe3 32 * @return state ending.
aktk 0:cc483bea4fe3 33 * @retval TRUE at error end.
aktk 0:cc483bea4fe3 34 * @retval FALSE at normal end.
aktk 0:cc483bea4fe3 35 */
aktk 0:cc483bea4fe3 36 bool run();
aktk 0:cc483bea4fe3 37
aktk 0:cc483bea4fe3 38 private:
aktk 0:cc483bea4fe3 39 // Handlers
aktk 0:cc483bea4fe3 40 EthernetInterface eth; // Eternet
aktk 0:cc483bea4fe3 41 TCPSocketServer tcpsvr; // TCP server
aktk 0:cc483bea4fe3 42 TCPSocketConnection tcpcon; // TCP server connection clerk
aktk 0:cc483bea4fe3 43 ResponseMessenger msger; // Messenger for a client
aktk 0:cc483bea4fe3 44 FileHandler fhandl; //
aktk 0:cc483bea4fe3 45 // Param
aktk 0:cc483bea4fe3 46 bool keep_alive;
aktk 0:cc483bea4fe3 47 bool listening_flag;
aktk 0:cc483bea4fe3 48 char* req_buf[1024];
aktk 0:cc483bea4fe3 49 };
aktk 0:cc483bea4fe3 50
aktk 0:cc483bea4fe3 51 #endif