Webserver only w/o any other functions, single thread. Running on STM32F013+W5500

Dependencies:   NTPClient W5500Interface Watchdog device_configuration eeprom_flash mbed-rpc-nucleo mbed-rtos mbed

Fork of F103-Serial-to-Ethernet by Chau Vo

HTTPServer.h

Committer:
olympux
Date:
2016-08-19
Revision:
47:d92d2c5b8073
Parent:
40:c966abbe2d62

File content as of revision 47:d92d2c5b8073:

#ifndef HTTP_SERVER
#define HTTP_SERVER

#include <map>

#include "mbed.h"
#include "mbed_rpc.h"
#include "RequestHandler.h"
#include "Formatter.h"
#include "EthernetInterface.h"
#include "RPCCommand.h"


class HTTPServer
{
    public :
    
        HTTPServer(Formatter *f = new Formatter());
        virtual ~HTTPServer();
        
        bool init(int port);

        void run();
        
        void add_request_handler(char *name, RequestHandler* handler);
        
    private :

        void handle_request(char *buffer);
        
        TCPSocketServer socket;
        std::map<char*, RequestHandler*, bool(*)(char*, char*)> handlers;
        Formatter *formatter;
        char reply[RPC_MAX_STRING];
        RPCCommand command;
};

#endif