Merge branch 'master' of git://ozlabs.org/~paulus/gitk
[gitweb.git] / http.h
diff --git a/http.h b/http.h
index a766066dfde652d13bbd30f1bb83928b1e727f22..473179b14d5648635853af4c5bf425116c32b6fe 100644 (file)
--- a/http.h
+++ b/http.h
@@ -89,6 +89,15 @@ extern void finish_active_slot(struct active_request_slot *slot);
 extern void finish_all_active_slots(void);
 extern int handle_curl_result(struct slot_results *results);
 
+/*
+ * This will run one slot to completion in a blocking manner, similar to how
+ * curl_easy_perform would work (but we don't want to use that, because
+ * we do not want to intermingle calls to curl_multi and curl_easy).
+ *
+ */
+int run_one_slot(struct active_request_slot *slot,
+                struct slot_results *results);
+
 #ifdef USE_CURL_MULTI
 extern void fill_active_slots(void);
 extern void add_fill_function(void *data, int (*fill)(void *));
@@ -134,6 +143,13 @@ struct http_get_options {
        /* If non-NULL, returns the content-type of the response. */
        struct strbuf *content_type;
 
+       /*
+        * If non-NULL, and content_type above is non-NULL, returns
+        * the charset parameter from the content-type. If none is
+        * present, returns an empty string.
+        */
+       struct strbuf *charset;
+
        /*
         * If non-NULL, returns the URL we ended up at, including any
         * redirects we followed.