7 #define HTTP_BUF_SIZE 4096
11 struct http_buf *next;
17 struct http_buf *iqueue;
18 struct http_buf *oqueue;
20 struct http_proxy *proxy;
24 Http_Busy // Don't process new HTTP requests while we're busy
28 struct http_request *request;
29 struct http_response *response;
30 struct http_channel *next; // for freelist
31 char *addr; /* forwarded address */
34 struct http_proxy // attached to iochan for proxy connection
37 struct http_channel *channel;
38 struct http_buf *oqueue;
46 struct http_header *next;
53 struct http_argument *next;
58 struct http_channel *channel;
59 char http_version[20];
63 struct http_header *headers;
64 struct http_argument *arguments;
71 struct http_channel *channel;
72 struct http_header *headers;
76 void http_set_proxyaddr(char *url, char *baseurl);
77 void http_init(const char *addr);
78 void http_addheader(struct http_response *r,
79 const char *name, const char *value);
80 struct http_header * http_header_append(struct http_channel *ch,
81 struct http_header * hp,
84 char *http_argbyname(struct http_request *r, char *name);
85 char *http_headerbyname(struct http_header *r, char *name);
86 struct http_response *http_create_response(struct http_channel *c);
87 void http_send_response(struct http_channel *c);
88 void urlencode(const char *i, char *o);
93 * indent-tabs-mode: nil
95 * vim: shiftwidth=4 tabstop=8 expandtab