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

Revision:
0:cc483bea4fe3
Child:
1:3a1fe94c6e42
diff -r 000000000000 -r cc483bea4fe3 handlers/ResponseMessenger.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/handlers/ResponseMessenger.h	Tue Feb 16 10:59:31 2016 +0000
@@ -0,0 +1,50 @@
+/*  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  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