#ifndef DBOX_HTTP_H
#define DBOX_HTTP_H
#include <time.h>
#include <string>
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
syntax highlighted by Code2HTML, v. 0.9.1