A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.

Dependents:   oldheating gps motorhome heating

tcp/http/http.h

Committer:
andrewboyson
Date:
2017-11-13
Revision:
54:84ef2b29cf7e
Child:
55:e64b8b47a2b6

File content as of revision 54:84ef2b29cf7e:

extern void   HttpAddChar  (char c);
extern void   HttpFillChar (char c, int length);
extern int    HttpAddText  (const char* text);
extern int    HttpAddV     (char *fmt, va_list argptr);
extern int    HttpAddF     (char *fmt, ...);
extern void   HttpAddData  (const char* data, int length);
extern void   HttpAddStream(void (*startFunction)(void), int (*enumerateFunction)(void));

extern void   HttpReadRequest (char *p, int len, char** ppMethod, char** ppPath, char** ppQuery, char** ppLastModified);
extern char*  HttpGetNextLine (char* p, char* pE);
extern void   HttpSplitRequest(char* p, char** ppMethod, char** ppPath, char** ppQuery);
extern void   HttpSplitHeader (char* p, char** ppName, char** ppValue);
extern char*  HttpSplitQuery  (char* p, char** ppName, char** ppValue);
extern void   HttpDecodeValue (char* value);

extern int  (*HttpRequestFunction)(char *pPath, char* pLastModified, char *pQuery);
extern void (*HttpReplyFunction)(int todo);

extern bool   HttpTrace;
extern int    HttpHandleRequest(void (*traceback)(void), int* pSize, char* pRequestStream, int positionInRequestStream, char* pReplyStream, int positionInReplyStream, uint16_t mss, int* pToDo);

extern void   HttpDateFromDateTime(const char* date, const char *ptime, char* ptext);
extern void   HttpDateFromNow(char* pText);

#define HTTP_DATE_LENGTH 30