libzypp  17.31.31
internal Namespace Reference

Classes

struct  CurlPollHelper
 
class  MediaCurlExceptionMayRetryInternaly
 Attempt to work around certain issues by autoretry in MediaCurl::getFileCopy E.g. More...
 
struct  OptionalDownloadProgressReport
 Bottleneck filtering all DownloadProgressReport issued from Media[Muli]Curl. More...
 
struct  ProgressData
 
struct  ProgressTracker
 
struct  SharedData
 

Functions

const char * anonymousIdHeader ()
 
const char * distributionFlavorHeader ()
 
const char * agentString ()
 
constexpr std::string_view MEDIACACHE_REGEX ("^\media\[1-9][0-9]*\media$")
 
void globalInitCurlOnce ()
 
uint curlVersion ()
 
int log_curl (CURL *curl, curl_infotype info, char *ptr, size_t len, void *max_lvl)
 
void setupZYPP_MEDIA_CURL_DEBUG (CURL *curl)
 Setup CURLOPT_VERBOSE and CURLOPT_DEBUGFUNCTION according to env::ZYPP_MEDIA_CURL_DEBUG. More...
 
size_t log_redirects_curl (char *ptr, size_t size, size_t nmemb, void *userdata)
 
void fillSettingsFromUrl (const Url &url, media::TransferSettings &s)
 Fills the settings structure using options passed on the url for example ?timeout=x&proxy=foo. More...
 
void fillSettingsSystemProxy (const Url &url, media::TransferSettings &s)
 Reads the system proxy configuration and fills the settings structure proxy information. More...
 
void curlEscape (std::string &str_r, const char char_r, const std::string &escaped_r)
 
std::string curlEscapedPath (std::string path_r)
 
std::string curlUnEscape (std::string text_r)
 
Url clearQueryString (const Url &url)
 
zypp::Url propagateQueryParams (zypp::Url url_r, const zypp::Url &template_r)
 
CURLcode setCurlRedirProtocols (CURL *curl)
 

Function Documentation

◆ anonymousIdHeader()

const char* internal::anonymousIdHeader ( )

Definition at line 254 of file MediaCurl.cc.

◆ distributionFlavorHeader()

const char* internal::distributionFlavorHeader ( )

Definition at line 268 of file MediaCurl.cc.

◆ agentString()

const char* internal::agentString ( )

Definition at line 282 of file MediaCurl.cc.

◆ MEDIACACHE_REGEX()

constexpr std::string_view internal::MEDIACACHE_REGEX ( "^\dia\edia$"  [1-9][0-9])

◆ globalInitCurlOnce()

void internal::globalInitCurlOnce ( )

Definition at line 64 of file curlhelper.cc.

◆ curlVersion()

uint internal::curlVersion ( )

Definition at line 74 of file curlhelper.cc.

◆ log_curl()

int internal::log_curl ( CURL *  curl,
curl_infotype  info,
char *  ptr,
size_t  len,
void *  max_lvl 
)

Definition at line 80 of file curlhelper.cc.

◆ setupZYPP_MEDIA_CURL_DEBUG()

void internal::setupZYPP_MEDIA_CURL_DEBUG ( CURL *  curl)

Setup CURLOPT_VERBOSE and CURLOPT_DEBUGFUNCTION according to env::ZYPP_MEDIA_CURL_DEBUG.

Definition at line 130 of file curlhelper.cc.

◆ log_redirects_curl()

size_t internal::log_redirects_curl ( char *  ptr,
size_t  size,
size_t  nmemb,
void *  userdata 
)

Definition at line 143 of file curlhelper.cc.

◆ fillSettingsFromUrl()

void internal::fillSettingsFromUrl ( const Url url,
media::TransferSettings s 
)

Fills the settings structure using options passed on the url for example ?timeout=x&proxy=foo.

Definition at line 183 of file curlhelper.cc.

◆ fillSettingsSystemProxy()

void internal::fillSettingsSystemProxy ( const Url url,
media::TransferSettings s 
)

Reads the system proxy configuration and fills the settings structure proxy information.

Definition at line 331 of file curlhelper.cc.

◆ curlEscape()

void internal::curlEscape ( std::string &  str_r,
const char  char_r,
const std::string &  escaped_r 
)

Definition at line 353 of file curlhelper.cc.

◆ curlEscapedPath()

std::string internal::curlEscapedPath ( std::string  path_r)

Definition at line 361 of file curlhelper.cc.

◆ curlUnEscape()

std::string internal::curlUnEscape ( std::string  text_r)

Definition at line 366 of file curlhelper.cc.

◆ clearQueryString()

zypp::Url internal::clearQueryString ( const Url url)

Definition at line 373 of file curlhelper.cc.

◆ propagateQueryParams()

zypp::Url internal::propagateQueryParams ( zypp::Url  url_r,
const zypp::Url template_r 
)

Definition at line 400 of file curlhelper.cc.

◆ setCurlRedirProtocols()

CURLcode internal::setCurlRedirProtocols ( CURL *  curl)

Enables the redirection protocols that we support, this code is a bit ugly because for newer versions we need to detect the current curl version at runtime, but at the same time need the compile time switch in case we are built against a older libcurl version.

Reason for this is that we do not explicitely require the libcurl version we are built against, this could mean we are ending up with a libcurl older than the one we built against.

See bsc#1218831

Definition at line 512 of file curlhelper.cc.