libzypp 17.25.7
CurlHelper.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8----------------------------------------------------------------------/
9*
10* This file contains private API, this might break at any time between releases.
11* You have been warned!
12*
13*/
14#ifndef ZYPP_MEDIA_CURLHELPER_H_INCLUDED
15#define ZYPP_MEDIA_CURLHELPER_H_INCLUDED
16
17#include <curl/curl.h>
18#include <zypp/Url.h>
20
21#define CONNECT_TIMEOUT 60
22#define TRANSFER_TIMEOUT_MAX 60 * 60
23#define DETECT_DIR_INDEX 0
24
25#define EXPLICITLY_NO_PROXY "_none_"
26
27#undef CURLVERSION_AT_LEAST
28#define CURLVERSION_AT_LEAST(M,N,O) LIBCURL_VERSION_NUM >= ((((M)<<8)+(N))<<8)+(O)
29
30
31//do not export
32namespace internal {
33
34namespace env {
37 {
38 static int _v = getZYPP_MEDIA_CURL_IPRESOLVE();
39 return _v;
40 }
41}
42
44int log_curl(CURL *curl, curl_infotype info, char *ptr, size_t len, void *max_lvl);
45size_t log_redirects_curl( char *ptr, size_t size, size_t nmemb, void *userdata);
46
47
50
55const char * anonymousIdHeader();
56
61const char * distributionFlavorHeader();
62
67const char * agentString();
68
69void curlEscape( std::string & str_r, const char char_r, const std::string & escaped_r );
70std::string curlEscapedPath( std::string path_r );
71std::string curlUnEscape( std::string text_r );
72
74zypp::Url propagateQueryParams( zypp::Url url_r, const zypp::Url & template_r );
75
76}
77
78
79
80
81#endif
CURL * curl
Definition: MediaCurl.cc:65
Url url
Definition: MediaCurl.cc:66
Url manipulation class.
Definition: Url.h:92
Holds transfer setting.
int ZYPP_MEDIA_CURL_IPRESOLVE()
Definition: CurlHelper.h:36
int getZYPP_MEDIA_CURL_IPRESOLVE()
Definition: CurlHelper.cc:281
void fillSettingsFromUrl(const Url &url, media::TransferSettings &s)
Fills the settings structure using options passed on the url for example ?timeout=x&proxy=foo.
Definition: CurlHelper.cc:110
size_t log_redirects_curl(char *ptr, size_t size, size_t nmemb, void *userdata)
Definition: CurlHelper.cc:62
const char * anonymousIdHeader()
initialized only once, this gets the anonymous id from the target, which we pass in the http header
Definition: CurlHelper.cc:294
void globalInitCurlOnce()
Definition: CurlHelper.cc:19
const char * distributionFlavorHeader()
initialized only once, this gets the distribution flavor from the target, which we pass in the http h...
Definition: CurlHelper.cc:308
zypp::Url propagateQueryParams(zypp::Url url_r, const zypp::Url &template_r)
Definition: CurlHelper.cc:384
std::string curlUnEscape(std::string text_r)
Definition: CurlHelper.cc:351
std::string curlEscapedPath(std::string path_r)
Definition: CurlHelper.cc:346
const char * agentString()
initialized only once, this gets the agent string which also includes the curl version
Definition: CurlHelper.cc:322
void fillSettingsSystemProxy(const Url &url, media::TransferSettings &s)
Reads the system proxy configuration and fills the settings structure proxy information.
Definition: CurlHelper.cc:258
Url clearQueryString(const Url &url)
Definition: CurlHelper.cc:358
void curlEscape(std::string &str_r, const char char_r, const std::string &escaped_r)
Definition: CurlHelper.cc:338
int log_curl(CURL *curl, curl_infotype info, char *ptr, size_t len, void *max_lvl)
Definition: CurlHelper.cc:28