summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>2016-12-09 22:15:50 -0200
committerGustavo Sverzut Barbieri <barbieri@profusion.mobi>2016-12-09 22:18:27 -0200
commitc5fc33d378704169f2675a4cc8d1bc566f7e2970 (patch)
treeeefe83292f33a65b1bacec7a4b1c5395caba48e8
parent2945b972ef3f30b7bca39e5d5810fbce0b256124 (diff)
downloadefl-c5fc33d378704169f2675a4cc8d1bc566f7e2970.tar.gz
ecore_con_url: only close the request if we got a final response.
if we're doing 30x redirects or anything else, keep going. If it's an error it will be reported later, otherwise EOS. Fact is we're only interested if 20x.
-rw-r--r--src/lib/ecore_con/ecore_con_url.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/ecore_con/ecore_con_url.c b/src/lib/ecore_con/ecore_con_url.c
index ffe5bd5fa1..0792857d2f 100644
--- a/src/lib/ecore_con/ecore_con_url.c
+++ b/src/lib/ecore_con/ecore_con_url.c
@@ -451,10 +451,11 @@ _ecore_con_url_dialer_headers_done(void *data, const Efl_Event *event EINA_UNUSE
Eina_Iterator *it;
Efl_Net_Http_Header *header;
size_t len;
+ int status = efl_net_dialer_http_response_status_get(url_con->dialer);
char *str;
DBG("HTTP headers done, status=%d url='%s'",
- efl_net_dialer_http_response_status_get(url_con->dialer),
+ status,
efl_net_dialer_address_dial_get(url_con->dialer));
_ecore_con_url_response_headers_free(url_con);
@@ -497,7 +498,7 @@ _ecore_con_url_dialer_headers_done(void *data, const Efl_Event *event EINA_UNUSE
end:
eina_iterator_free(it);
- if (url_con->only_head)
+ if (url_con->only_head && ((status >= 200) && (status < 300)))
_ecore_con_url_dialer_close(url_con);
}