Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: oldheating gps motorhome heating
http/http.h
- Committer:
- andrewboyson
- Date:
- 2020-03-11
- Revision:
- 133:98c6bf14bc37
- Parent:
- 130:9a5b8fe308f1
- Child:
- 135:c1490f7e95be
File content as of revision 133:98c6bf14bc37:
#include <stdbool.h>
#include <stdarg.h>
#include <stdint.h>
#include <time.h>
#define HTTP_WAIT                    0
#define HTTP_FINISHED                1
#define HTTP_HAVE_SOMETHING_TO_SEND  2
extern void   HttpReset   (int connectionId);
extern bool   HttpResponse(int connectionId, bool clientFinished, int* pWindowSize, char* pWindow, uint32_t windowPositionInStream);
extern bool   HttpAdd     (int connectionId,                      int* pWindowSize, char* pWindow, uint32_t windowPositionInStream); //returns true if finished; false if not
extern int    HttpPoll    (int connectionId, bool clientFinished);  //returns true if something to send; false if not
extern void   HttpRequest (int connectionId,                      int   windowSize, char* pWindow, uint32_t windowPositionInStream);
extern bool   HttpGetTrace(void);
extern void   HttpAddStart        (uint32_t position, int mss, char *pData);
extern int    HttpAddLength       (void);
extern bool   HttpAddFilled       (void);
extern void   HttpAddChar         (char c);
extern void   HttpAddFillChar     (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   HttpAddNibbleAsHex  (int value);
extern void   HttpAddByteAsHex    (int value);
extern void   HttpAddInt12AsHex   (int value);
extern void   HttpAddInt16AsHex   (int value);
extern void   HttpAddInt32AsHex   (int value);
extern void   HttpAddInt64AsHex   (int64_t value);
extern void   HttpAddBytesAsHex   (const uint8_t* value, int size);
extern void   HttpAddBytesAsHexRev(const uint8_t* value, int size);
extern void   HttpAddTm           (struct tm* ptm);
extern void   HttpOk(const char* contentType, const char* cacheControl, const char* lastModifiedDate, const char* lastModifiedTime);
extern char*  HttpOkCookieName;
extern char*  HttpOkCookieValue;
extern int    HttpOkCookieMaxAge;
extern void   HttpNotFound        (void);
extern void   HttpNotModified     (void);
extern int    HttpRequestRead(char *p, int len, char** ppMethod, char** ppPath, char** ppQuery, char** ppLastModified, char** ppCookies, int* pContentLength);
extern char*  HttpCookiesSplit   (char* pCookies, char** ppName, char** ppValue);
extern char*  HttpQuerySplit     (char* pQuery,   char** ppName, char** ppValue);
extern int    HttpQueryValueAsInt(char* pValue);
extern void   HttpQueryUnencode  (char* pValue);
extern void   HttpDateFromDateTime(const char* date, const char *ptime, char* ptext);
extern void   HttpDateFromNow(char* pText);
extern bool HttpSameStr               (const char* pa,   const char* pb);
extern bool HttpSameStrCaseInsensitive(const char* pa,   const char* pb);
extern bool HttpSameDate              (const char* date, const char* time, const char* pOtherDate);
#define HTTP_DATE_LENGTH 30