From: Tobias Brunner Date: Fri, 9 May 2014 17:02:28 +0000 (+0200) Subject: soup: Add support to retrieve the response code X-Git-Tag: 5.2.0dr5~36^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=271c2dd24ec6e3f4b30bdd3ca2b3edc1a53c425f;p=thirdparty%2Fstrongswan.git soup: Add support to retrieve the response code --- diff --git a/src/libstrongswan/plugins/soup/soup_fetcher.c b/src/libstrongswan/plugins/soup/soup_fetcher.c index 681a3c3571..99525cb798 100644 --- a/src/libstrongswan/plugins/soup/soup_fetcher.c +++ b/src/libstrongswan/plugins/soup/soup_fetcher.c @@ -63,6 +63,11 @@ struct private_soup_fetcher_t { * Fetcher callback function */ fetcher_callback_t cb; + + /** + * Response status + */ + u_int *result; }; /** @@ -119,12 +124,16 @@ METHOD(fetcher_t, fetch, status_t, DBG2(DBG_LIB, "sending http request to '%s'...", uri); soup_session_send_message(data.session, message); + if (this->result) + { + *this->result = message->status_code; + } if (SOUP_STATUS_IS_SUCCESSFUL(message->status_code)) { status = SUCCESS; } - else - { + else if (!this->result) + { /* only log an error if the code is not returned */ DBG1(DBG_LIB, "HTTP request failed: %s", message->reason_phrase); } g_object_unref(G_OBJECT(message)); @@ -157,6 +166,9 @@ METHOD(fetcher_t, set_option, bool, case FETCH_CALLBACK: this->cb = va_arg(args, fetcher_callback_t); break; + case FETCH_RESPONSE_CODE: + this->result = va_arg(args, u_int*); + break; default: supported = FALSE; break;