Skip to content

Commit

Permalink
http: return curl's AUTHAVAIL via slot_results
Browse files Browse the repository at this point in the history
Callers of the http code may want to know which auth types
were available for the previous request. But after finishing
with the curl slot, they are not supposed to look at the
curl handle again. We already handle returning other
information via the slot_results struct; let's add a flag to
check the available auth.

Note that older versions of curl did not support this, so we
simply return 0 (something like "-1" would be worse, as the
value is a bitflag and we might accidentally set a flag).
This is sufficient for the callers planned in this series,
who only trigger some optional behavior if particular bits
are set, and can live with a fake "no bits" answer.

Signed-off-by: Jeff King <peff@peff.net>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Oct 31, 2013
1 parent 02a110a commit 0972ccd
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
6 changes: 6 additions & 0 deletions http.c
Original file line number Diff line number Diff line change
Expand Up @@ -706,6 +706,12 @@ void finish_active_slot(struct active_request_slot *slot)
if (slot->results != NULL) {
slot->results->curl_result = slot->curl_result;
slot->results->http_code = slot->http_code;
#if LIBCURL_VERSION_NUM >= 0x070a08
curl_easy_getinfo(slot->curl, CURLINFO_HTTPAUTH_AVAIL,
&slot->results->auth_avail);
#else
slot->results->auth_avail = 0;
#endif
}

/* Run callback if appropriate */
Expand Down
1 change: 1 addition & 0 deletions http.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
struct slot_results {
CURLcode curl_result;
long http_code;
long auth_avail;
};

struct active_request_slot {
Expand Down

0 comments on commit 0972ccd

Please sign in to comment.