Jeff King <peff@xxxxxxxx> writes: > Most of our http requests go through the http_request() > interface, which does some nice post-processing on the > results. In particular, it handles prompting for missing > credentials as well as approving and rejecting valid or > invalid credentials. Unfortunately, it only handles GET > requests. Making it handle POSTs would be quite complex, so > let's pull result handling code into its own function so > that it can be reused from the POST code paths. > > Signed-off-by: Jeff King <peff@xxxxxxxx> > --- > http.c | 51 ++++++++++++++++++++++++++++----------------------- > http.h | 1 + > 2 files changed, 29 insertions(+), 23 deletions(-) > > diff --git a/http.c b/http.c > index b61ac85..6793137 100644 > --- a/http.c > +++ b/http.c > @@ -745,6 +745,33 @@ char *get_remote_object_url(const char *url, const char *hex, > return strbuf_detach(&buf, NULL); > } > > +int handle_curl_result(struct active_request_slot *slot) > +{ > + struct slot_results *results = slot->results; > + > + if (results->curl_result == CURLE_OK) { > + credential_approve(&http_auth); > + return HTTP_OK; > + } else if (missing_target(results)) > +... > + return HTTP_ERROR; > + } > +} > + > @@ -820,9 +828,6 @@ static int http_request(const char *url, void *result, int target, int options) > curl_slist_free_all(headers); > strbuf_release(&buf); > > - if (ret == HTTP_OK) > - credential_approve(&http_auth); OK, now this is part of handle_curl_result() so the caller does not have to worry about it, which is nice ;-) > return ret; > } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html