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

HTTP_SERVER.h

Committer:
aktk
Date:
2018-03-04
Revision:
13:483b2b1a6471
Parent:
12:c926d680f339
Child:
14:a16cdcd098d7

File content as of revision 13:483b2b1a6471:

//HTTP_SERVER.h
#ifndef HTTP_SERVER_H
#define HTTP_SERVER_H
#include "mbed.h"
#include "EthernetInterface.h"
#include "ResponseMessenger.h"
#include "FileHandler.h"
#include "string.h"
#include <stdlib.h>
using namespace std;

enum PortNum {
     
};
/** HttpServer class
 *
 * This is the class to make a mbed a simple HTTP Server.
 */
class HttpServer
{
public:
    HttpServer();
    ~HttpServer();
    /** HTTP SERVER Initialization.
     *
     *  This function should be called first of all.
     *  @return result of init() as boolean.
     *  @retval TRUE SACCESS
     *  @retval FALSE
     */
    bool init();
    /** Run the surver service while listening flag is true.
     *
     *  @return state ending.
     *  @retval TRUE at error end.
     *  @retval FALSE at normal end.
     */
    bool run();

private:
    //  Handlers
    NetworkInterface    net;    //  Eternet/Wifi
    TCPSocket           client; //  TCP server connection clerk
    TCPServer           server; //  TCP server
    ResponseMessenger   msger;  //  Handler of Messenge for a client
    FileHandler         fhndl;  //  File Handler
    //  Param
    bool keep_alive;
    bool listening_flag;
    char* req_buf[1024];
    uint16_t tcp_port;     //Port number
    int backlog;           //backlog Number of pending connections that can be queued simultaneously
 
};

#endif