libfetch: implement http keep-alive
modified external/libfetch/common.c
@@ -348,19 +348,19 @@ fetch_bind(int sd, int af, const char *addr)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -398,12 +398,20 @@ fetch_connect(const char *host, int port, int af, int verbose)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -421,6 +429,103 @@ fail:
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified external/libfetch/common.h
@@ -61,6 +61,14 @@ struct fetchconn {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -80,7 +88,7 @@ int fetch_default_port(const char *);
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -97,6 +105,8 @@ int fetch_add_entry(struct url_ent **, int *, int *,
|
|
|
|
|
|
| + | |
| + | |
|
|
|
|
|
modified external/libfetch/fetch.h
@@ -131,10 +131,15 @@ struct url_ent *fetchList(struct url *, const char *);
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified external/libfetch/ftp.c
@@ -976,10 +976,10 @@ ftp_connect(struct url *url, struct url *purl, const char *flags)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified external/libfetch/http.c
@@ -131,6 +131,7 @@ struct httpio
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -316,11 +317,22 @@ static int
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -329,7 +341,7 @@ http_closefn(void *v)
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -340,6 +352,7 @@ http_funopen(conn_t *conn, int chunked)
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -360,6 +373,7 @@ typedef enum {
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -374,6 +388,7 @@ static struct {
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -1377,7 +1392,7 @@ http_authorize(conn_t *conn, const char *hdr, http_auth_challenges_t *cs,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1404,7 +1419,12 @@ http_connect(struct url *URL, struct url *purl, const char *flags)
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1546,7 +1566,7 @@ http_request_body(struct url *URL, const char *op, struct url_stat *us,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1568,6 +1588,7 @@ http_request_body(struct url *URL, const char *op, struct url_stat *us,
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -1589,6 +1610,7 @@ http_request_body(struct url *URL, const char *op, struct url_stat *us,
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -1603,7 +1625,7 @@ http_request_body(struct url *URL, const char *op, struct url_stat *us,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1724,7 +1746,7 @@ http_request_body(struct url *URL, const char *op, struct url_stat *us,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1828,6 +1850,10 @@ http_request_body(struct url *URL, const char *op, struct url_stat *us,
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -2002,7 +2028,7 @@ http_request_body(struct url *URL, const char *op, struct url_stat *us,
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|