#ifndef DBOX_HTTP_H #define DBOX_HTTP_H #include #include class httpt { public: string command, url, version; enum methodt { GET, PUT, POST, UNKNOWN } method; struct parametert { char *name, *inhalt; parametert *n; } *parameter, *header; const char *getparameter(const char *name); const char *get_parameter(const string &name); const char *get_header(const char *name); void clear(); void basic_auth(char *username, char *password, int maxlen); httpt(); ~httpt(); protected: const char *get_parameterfromlist(const char *name, parametert *list); void parse_parameter(char *str); void parse_command(); void decode_url(string &url); }; class handle_httpt:public httpt { public: int handle; void read_request(int _handle); protected: void read_command(); void read_header(); void read_line(string &buffer); }; class cgi_httpt:public httpt { public: void cgi_parse(); }; class get_url_httpt:public httpt { public: void parse_get_url(const string &_url); }; void mkrfc1123(time_t t, char *s); #endif