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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ResponseMessenger.h Source File

ResponseMessenger.h

00001 /*  ResponseMessenger.h */
00002 #ifndef RESPONSE_MESSENGER_H
00003 #define RESPONSE_MESSENGER_H
00004 #include "mbed.h"
00005 #include "string.h"
00006 #include "EthernetInterface.h"
00007 #include "FileHandler.h"
00008 #include <stdlib.h>
00009 using namespace std;
00010 
00011 class ResponseMessenger
00012 {
00013     enum {
00014         REASON_PHRASE_SIZE = 32,
00015         HEADER_FIELDS_SIZE = 2048
00016     };
00017 public:
00018     ResponseMessenger();
00019     ~ResponseMessenger();
00020     int resetHeader();
00021     int setStatusLine(int,const char*);
00022     int setHeaderField(const char*, const char*);
00023     int setHeaderField(const char*, int);
00024     int rmHeaderField(const char*);
00025     int getStatusCode();
00026     /**
00027      *  Function to send response messages.
00028      *  just header only
00029      *  @return char
00030      *  @retval error code
00031      */
00032     char sendHTTPResponse(TCPSocket&);
00033     /**
00034      *  Function to send response messages.
00035      *  @return char
00036      *  @retval error code
00037      */
00038     char sendHTTPResponse(TCPSocket&, FileHandler&);
00039 private:
00040     //  Status-Line
00041     static const char http_ver[9];
00042     int  status_code;
00043     char reason_phrase[REASON_PHRASE_SIZE];
00044     //  Header Field buffer
00045     //  - General Header
00046     //  - Response Header
00047     //  - Entity Header
00048     char header_field_buffer[HEADER_FIELDS_SIZE];
00049 };
00050 
00051 #endif