MeterLogger
httpd.h
Go to the documentation of this file.
1 #ifndef HTTPD_H
2 #define HTTPD_H
3 #include <c_types.h>
4 #include <esp8266.h>
5 
6 #define HTTPDVER "0.2"
7 
8 #define HTTPD_CGI_MORE 0
9 #define HTTPD_CGI_DONE 1
10 #define HTTPD_CGI_NOTFOUND 2
11 #define HTTPD_CGI_AUTHENTICATED 2 //for now
12 
13 typedef struct HttpdPriv HttpdPriv;
15 
17 
18 //A struct describing a http connection. This gets passed to cgi functions.
19 struct HttpdConnData {
20  struct espconn *conn;
21  char *url;
22  char *getArgs;
23  const void *cgiArg;
24  void *cgiData;
27  int postLen;
28  char *postBuff;
29 };
30 
31 //A struct describing an url. This is the main struct that's used to send different URL requests to
32 //different routines.
33 typedef struct {
34  const char *url;
36  const void *cgiArg;
38 
41 int httpdUrlDecode(char *val, int valLen, char *ret, int retLen);
42 ICACHE_FLASH_ATTR int httpdFindArg(char *line, char *arg, char *buff, int buffLen);
43 ICACHE_FLASH_ATTR void httpdInit(HttpdBuiltInUrl *fixedUrls, int port);
44 const char *httpdGetMimetype(char *url);
46 ICACHE_FLASH_ATTR void httpdHeader(HttpdConnData *conn, const char *field, const char *val);
48 ICACHE_FLASH_ATTR int httpdGetHeader(HttpdConnData *conn, char *header, char *ret, int retLen);
49 ICACHE_FLASH_ATTR int httpdSend(HttpdConnData *conn, const char *data, int len);
51 #endif
ICACHE_FLASH_ATTR void httpdStartResponse(HttpdConnData *conn, int code)
Definition: httpd.c:219
char * getArgs
Definition: httpd.h:22
ICACHE_FLASH_ATTR void httpdHeader(HttpdConnData *conn, const char *field, const char *val)
Definition: httpd.c:229
int httpdUrlDecode(char *val, int valLen, char *ret, int retLen)
Definition: httpd.c:137
ICACHE_FLASH_ATTR int httpdGetHeader(HttpdConnData *conn, char *header, char *ret, int retLen)
Definition: httpd.c:189
#define ICACHE_FLASH_ATTR
Definition: c_types.h:99
ICACHE_FLASH_ATTR void httpdInit(HttpdBuiltInUrl *fixedUrls, int port)
Definition: httpd.c:509
const void * cgiArg
Definition: httpd.h:23
char * url
Definition: httpd.h:21
ICACHE_FLASH_ATTR int httpdSend(HttpdConnData *conn, const char *data, int len)
Definition: httpd.c:270
int(* cgiSendCallback)(HttpdConnData *connData)
Definition: httpd.h:16
const void * cgiArg
Definition: httpd.h:36
const char * url
Definition: httpd.h:34
ICACHE_FLASH_ATTR int cgiRedirect(HttpdConnData *connData)
Definition: httpd.c:256
const char * httpdGetMimetype(char *url)
Definition: httpd.c:93
void * cgiData
Definition: httpd.h:24
struct espconn * conn
Definition: httpd.h:20
ICACHE_FLASH_ATTR void httpdStop()
Definition: httpd.c:534
ICACHE_FLASH_ATTR int httpdFindArg(char *line, char *arg, char *buff, int buffLen)
Definition: httpd.c:167
char * postBuff
Definition: httpd.h:28
ICACHE_FLASH_ATTR void httpdRedirect(HttpdConnData *conn, char *newUrl)
Definition: httpd.c:246
cgiSendCallback cgiCb
Definition: httpd.h:35
static HttpdConnData connData[MAX_CONN]
Definition: httpd.c:63
int postLen
Definition: httpd.h:27
ICACHE_FLASH_ATTR void httpdEndHeaders(HttpdConnData *conn)
Definition: httpd.c:240
cgiSendCallback cgi
Definition: httpd.h:26
HttpdPriv * priv
Definition: httpd.h:25