return strbuf_detach(&buf, NULL);
}
-int handle_curl_result(struct active_request_slot *slot)
+int handle_curl_result(struct active_request_slot *slot,
+ struct slot_results *results)
{
- struct slot_results *results = slot->results;
-
if (results->curl_result == CURLE_OK) {
credential_approve(&http_auth);
return HTTP_OK;
if (start_active_slot(slot)) {
run_active_slot(slot);
- ret = handle_curl_result(slot);
+ ret = handle_curl_result(slot, &results);
} else {
error("Unable to start HTTP request for %s", url);
ret = HTTP_START_FAILED;
extern void run_active_slot(struct active_request_slot *slot);
extern void finish_active_slot(struct active_request_slot *slot);
extern void finish_all_active_slots(void);
-extern int handle_curl_result(struct active_request_slot *slot);
+extern int handle_curl_result(struct active_request_slot *slot,
+ struct slot_results *results);
#ifdef USE_CURL_MULTI
extern void fill_active_slots(void);
slot->curl_result = curl_easy_perform(slot->curl);
finish_active_slot(slot);
- err = handle_curl_result(slot);
+ err = handle_curl_result(slot, &results);
if (err != HTTP_OK && err != HTTP_REAUTH) {
error("RPC failed; result=%d, HTTP code = %ld",
results.curl_result, results.http_code);