Line data Source code
1 : /* 2 : This file is part of TALER 3 : Copyright (C) 2014-2018 Taler Systems SA 4 : 5 : TALER is free software; you can redistribute it and/or modify it under the 6 : terms of the GNU General Public License as published by the Free Software 7 : Foundation; either version 3, or (at your option) any later version. 8 : 9 : TALER is distributed in the hope that it will be useful, but WITHOUT ANY 10 : WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 11 : A PARTICULAR PURPOSE. See the GNU General Public License for more details. 12 : 13 : You should have received a copy of the GNU General Public License along with 14 : TALER; see the file COPYING. If not, see 15 : <http://www.gnu.org/licenses/> 16 : */ 17 : /** 18 : * @file lib/auditor_api_curl_defaults.c 19 : * @brief curl easy handle defaults 20 : * @author Florian Dold 21 : */ 22 : #include "platform.h" 23 : #include "taler_curl_lib.h" 24 : #include "auditor_api_curl_defaults.h" 25 : 26 : 27 : CURL * 28 4043 : TALER_AUDITOR_curl_easy_get_ (const char *url) 29 : { 30 : CURL *eh; 31 : struct GNUNET_AsyncScopeSave scope; 32 : 33 4043 : GNUNET_async_scope_get (&scope); 34 : 35 4043 : eh = curl_easy_init (); 36 4043 : if (NULL == eh) 37 0 : return NULL; 38 4043 : GNUNET_assert (CURLE_OK == 39 : curl_easy_setopt (eh, 40 : CURLOPT_URL, 41 : url)); 42 4043 : TALER_curl_set_secure_redirect_policy (eh, 43 : url); 44 : /* Enable compression (using whatever curl likes), see 45 : https://curl.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html */ 46 4043 : GNUNET_break (CURLE_OK == 47 : curl_easy_setopt (eh, 48 : CURLOPT_ACCEPT_ENCODING, 49 : "")); 50 4043 : GNUNET_assert (CURLE_OK == 51 : curl_easy_setopt (eh, 52 : CURLOPT_TCP_FASTOPEN, 53 : 1L)); 54 4043 : return eh; 55 : }