struct auth_realm {
struct list_head list;
- char *path;
- char *user;
- char *pass;
+ const char *path;
+ const char *user;
+ const char *pass;
};
enum http_method {
enum http_method method;
enum http_version version;
int redirect_status;
- char *url;
+ const char *url;
const struct auth_realm *realm;
};
struct interpreter {
struct list_head list;
- char *path;
- char *ext;
+ const char *path;
+ const char *ext;
};
struct path_info {
const char *name;
const char *info;
const char *query;
- int redirected;
+ bool redirected;
struct stat stat;
- struct interpreter *ip;
+ const struct interpreter *ip;
};
struct env_var {
void (*handle_request)(struct client *cl, const char *url, struct path_info *pi);
};
+struct uh_addr {
+ uint8_t family;
+ uint16_t port;
+ union {
+ struct in_addr in;
+ struct in6_addr in6;
+ };
+};
+
struct client {
struct list_head list;
int id;
enum client_state state;
struct http_request request;
- struct sockaddr_in6 servaddr;
- struct sockaddr_in6 peeraddr;
+ struct uh_addr srv_addr, peer_addr;
struct blob_buf hdr;