diff options
author | Tobias Brunner <tobias@strongswan.org> | 2014-05-09 19:02:28 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2014-05-19 14:29:48 +0200 |
commit | 271c2dd24ec6e3f4b30bdd3ca2b3edc1a53c425f (patch) | |
tree | 1ae76a0bb9cb5d32527d04dfdb8df809ddaec82a | |
parent | 350c1dead93d2db0d439bdfdb30a89e599d55660 (diff) | |
download | strongswan-271c2dd24ec6e3f4b30bdd3ca2b3edc1a53c425f.tar.bz2 strongswan-271c2dd24ec6e3f4b30bdd3ca2b3edc1a53c425f.tar.xz |
soup: Add support to retrieve the response code
-rw-r--r-- | src/libstrongswan/plugins/soup/soup_fetcher.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/libstrongswan/plugins/soup/soup_fetcher.c b/src/libstrongswan/plugins/soup/soup_fetcher.c index 681a3c357..99525cb79 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; |