From 1dca44d67e29fdad80afeea045aab37b8042aa48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Al=D0=B5x=D0=B0nder=20Lysik=D0=BEv?= <alexander.lysikov@demlabs.net> Date: Thu, 27 Jun 2019 23:47:15 +0500 Subject: [PATCH] added dap_http_client_curl_close_callback() callback --- .../http_client/dap_http_client_simple.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/http_server/http_client/dap_http_client_simple.c b/http_server/http_client/dap_http_client_simple.c index 79d43ba..f5e3ce7 100755 --- a/http_server/http_client/dap_http_client_simple.c +++ b/http_server/http_client/dap_http_client_simple.c @@ -67,6 +67,7 @@ static void *dap_http_client_thread( void *arg ); size_t dap_http_client_curl_request_callback( char *a_ptr, size_t a_size, size_t a_nmemb, void *a_userdata ); size_t dap_http_client_curl_response_callback(char *a_ptr, size_t a_size, size_t a_nmemb, void *a_userdata ); +size_t dap_http_client_curl_close_callback( char *a_ptr, size_t a_size, size_t a_nmemb, void *a_userdata ); void dap_http_client_internal_delete( dap_http_client_internal_t *a_client ); @@ -194,6 +195,9 @@ void dap_http_client_simple_request_custom( const char *a_url, const char *a_met curl_easy_setopt( l_curl_h , CURLOPT_WRITEDATA , l_client_internal ); curl_easy_setopt( l_curl_h , CURLOPT_WRITEFUNCTION , dap_http_client_curl_response_callback ); + curl_easy_setopt( l_curl_h , CURLOPT_CLOSESOCKETDATA , l_client_internal ); + curl_easy_setopt( l_curl_h , CURLOPT_CLOSESOCKETFUNCTION , dap_http_client_curl_close_callback ); + curl_multi_add_handle( m_curl_mh, l_curl_h ); //curl_multi_perform(m_curl_mh, &m_curl_cond); @@ -255,6 +259,21 @@ size_t dap_http_client_curl_response_callback( char *a_ptr, size_t a_size, size_ return a_size*a_nmemb; } + +/** + * @brief dap_http_client_curl_response_callback + * @param a_ptr + * @param a_size + * @param a_nmemb + * @param a_userdata + * @return + */ +size_t dap_http_client_curl_close_callback( char *a_ptr, size_t a_size, size_t a_nmemb, void *a_userdata ) +{ + dap_http_client_internal_t * l_client_internal = (dap_http_client_internal_t *) a_userdata; + printf("\n*** close l_client_internal=%x\n\n", l_client_internal); +} + /** * @brief dap_http_client_curl_request_callback * @param a_ptr -- GitLab