From 6c31fcf709d4b14e92e4ffbd633165d457738a5f Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 8 Feb 2012 13:25:08 +0000 Subject: [PATCH] add ecore_con_url_http_version_set() to be able to specify request version SVN revision: 67759 --- legacy/ecore/ChangeLog | 5 ++++ legacy/ecore/src/lib/ecore_con/Ecore_Con.h | 26 +++++++++++++++++ .../ecore/src/lib/ecore_con/ecore_con_url.c | 28 +++++++++++++++++++ 3 files changed, 59 insertions(+) diff --git a/legacy/ecore/ChangeLog b/legacy/ecore/ChangeLog index 7e54b3dcaf..fc3a8f48c4 100644 --- a/legacy/ecore/ChangeLog +++ b/legacy/ecore/ChangeLog @@ -477,3 +477,8 @@ 2012-02-07 Jihoon Kim (jihoon) * Support ecore_imf_context_input_panel_show/hide in XIM and SCIM module. + +2012-02-08 Carsten Haitzler (The Rasterman) + + * Add ecore_con_url_http_version_set() to set url request version + diff --git a/legacy/ecore/src/lib/ecore_con/Ecore_Con.h b/legacy/ecore/src/lib/ecore_con/Ecore_Con.h index c3af46a057..f35300a8ed 100644 --- a/legacy/ecore/src/lib/ecore_con/Ecore_Con.h +++ b/legacy/ecore/src/lib/ecore_con/Ecore_Con.h @@ -1334,6 +1334,32 @@ typedef enum _Ecore_Con_Url_Time ECORE_CON_URL_TIME_IFUNMODSINCE } Ecore_Con_Url_Time; +/** + * @typedef Ecore_Con_Url_Http_Version + * @enum _Ecore_Con_Url_Http_Version + * The http version to use + */ +typedef enum _Ecore_Con_Url_Http_Version +{ + /** + * HTTP version 1.0 + */ + ECORE_CON_URL_HTTP_VERSION_1_0, + /** + * HTTP version 1.1 (default) + */ + ECORE_CON_URL_HTTP_VERSION_1_1 +} Ecore_Con_Url_Http_Version; + +/** + * Change the HTTP version used for the request + * @param version The version to be used + * @return EINA_TRUE on success, EINA_FALSE on failure to change version + * + * @see ecore_con_url_pipeline_get() + */ +EAPI Eina_Bool ecore_con_url_http_version_set(Ecore_Con_Url *url_con, Ecore_Con_Url_Http_Version version); + /** * Initialises the Ecore_Con_Url library. * @return Number of times the library has been initialised without being diff --git a/legacy/ecore/src/lib/ecore_con/ecore_con_url.c b/legacy/ecore/src/lib/ecore_con/ecore_con_url.c index 709b554a26..45da0757fc 100644 --- a/legacy/ecore/src/lib/ecore_con/ecore_con_url.c +++ b/legacy/ecore/src/lib/ecore_con/ecore_con_url.c @@ -1096,6 +1096,34 @@ ecore_con_url_ssl_ca_set(Ecore_Con_Url *url_con, const char *ca_path) return res; } +EAPI Eina_Bool +ecore_con_url_http_version_set(Ecore_Con_Url *url_con, Ecore_Con_Url_Http_Version version) +{ + int res = -1; + + switch (version) + { + case ECORE_CON_URL_HTTP_VERSION_1_0: + res = curl_easy_setopt(url_con->curl_easy, + CURLOPT_HTTP_VERSION, + CURL_HTTP_VERSION_1_0); + break; + case ECORE_CON_URL_HTTP_VERSION_1_1: + res = curl_easy_setopt(url_con->curl_easy, + CURLOPT_HTTP_VERSION, + CURL_HTTP_VERSION_1_1); + break; + default: + break; + } + if (res != CURLE_OK) + { + ERR("curl http version setting failed: %s", curl_easy_strerror(res)); + return EINA_FALSE; + } + return EINA_TRUE; +} + EAPI Eina_Bool ecore_con_url_proxy_set(Ecore_Con_Url *url_con, const char *proxy) {