The library with which to configure a Web Socket Server on a Mbed. This lib was coded by a day at least one year before when this description is written. It will be updated adopting mbed os 5.
Diff: handlers/ResponseMessenger.h
- Revision:
- 2:ccaae77f91b8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/handlers/ResponseMessenger.h Sat Mar 03 19:01:29 2018 +0000 @@ -0,0 +1,51 @@ +/* ResponseMessenger.h */ +#ifndef RESPONSE_MESSENGER_H +#define RESPONSE_MESSENGER_H +#include "mbed.h" +#include "string.h" +#include "EthernetInterface.h" +#include "FileHandler.h" +#include <stdlib.h> +using namespace std; + +class ResponseMessenger +{ + enum { + REASON_PHRASE_SIZE = 32, + HEADER_FIELDS_SIZE = 2048 + }; +public: + ResponseMessenger(); + ~ResponseMessenger(); + int resetHeader(); + int setStatusLine(int,const char*); + int setHeaderField(const char*, const char*); + int setHeaderField(const char*, int); + int rmHeaderField(const char*); + int getStatusCode(); + /** + * Function to send response messages. + * just header only + * @return char + * @retval error code + */ + char sendHTTPResponse(TCPSocketConnection&); + /** + * Function to send response messages. + * @return char + * @retval error code + */ + char sendHTTPResponse(TCPSocketConnection&, FileHandler&); +private: + // Status-Line + static const char http_ver[9]; + int status_code; + char reason_phrase[REASON_PHRASE_SIZE]; + // Header Field buffer + // - General Header + // - Response Header + // - Entity Header + char header_field_buffer[HEADER_FIELDS_SIZE]; +}; + +#endif \ No newline at end of file