53      MIL << 
"Url is not valid" << std::endl;
 
   59    MIL << 
"Trying scheme '" << 
url.getScheme() << 
"'" << std::endl;
 
   66    std::unique_ptr<MediaHandler> _handler;
 
   69        _handler = std::make_unique<MediaCD> (
url,preferred_attach_point);
 
   73        _handler = std::make_unique<MediaNFS> (
url,preferred_attach_point);
 
   77        _handler = std::make_unique<MediaISO> (
url,preferred_attach_point);
 
   81        _handler = std::make_unique<MediaDIR> (
url,preferred_attach_point);
 
   85        _handler = std::make_unique<MediaDISK> (
url,preferred_attach_point);
 
   89        _handler = std::make_unique<MediaCIFS> (
url,preferred_attach_point);
 
   93        enum WhichHandler { choose, curl, curl2, multicurl };
 
   94        WhichHandler which = choose;
 
   96        if ( 
const std::string & queryparam = 
url.getQueryParam(
"mediahandler"); ! queryparam.empty() ) {
 
   97          if ( queryparam == 
"network" ||  queryparam == 
"multicurl" )
 
   99          else if ( queryparam == 
"curl" )
 
  101          else if ( queryparam == 
"curl2" )
 
  104            WAR << 
"Unknown mediahandler='" << queryparam << 
"' in URL; Choosing the default" << std::endl;
 
  107        if ( which == choose ) {
 
  108          auto getenvIs = []( std::string_view var, std::string_view val )->
bool {
 
  109            const char * v = ::getenv( var.data() );
 
  110            return v && v == val;
 
  116          if ( getenvIs( 
"ZYPP_MULTICURL", 
"0" ) ) {
 
  117            WAR << 
"multicurl manually disabled." << std::endl;
 
  121          if ( getenvIs( 
"ZYPP_CURL2", 
"1" ) ) {
 
  122            WAR << 
"Curl2 manually selected." << std::endl;
 
  128        std::unique_ptr<MediaNetworkCommonHandler> handler;
 
  132            handler = std::make_unique<MediaMultiCurl>( 
url, preferred_attach_point );
 
  135            handler = std::make_unique<MediaCurl>( 
url, preferred_attach_point );
 
  138            handler = std::make_unique<MediaCurl2>( 
url, preferred_attach_point );
 
  142        for ( 
const auto & el : custom_headers ) {
 
  143          std::string header { el.first };
 
  146          MIL << 
"Added custom header -> " << header << std::endl;
 
  147          handler->settings().addHeader( std::move(header) );
 
  149        _handler = std::move(handler);
 
  167      ERR << 
"Failed to create media handler" << std::endl;
 
  171    MIL << 
"Opened: " << *_handler << std::endl;