aboutsummaryrefslogtreecommitdiffstats
path: root/grpmi/curl_download/curl_download.pm
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2002-08-30 18:15:36 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2002-08-30 18:15:36 +0000
commit825a6a0d7b41e624c01d0236ec73d31296c352c6 (patch)
tree9932bf3bb6ca7b5d10ca80aca7e4d122a402d5bd /grpmi/curl_download/curl_download.pm
parent0e08c3052db01f30ac90f56c6d57a8ec3b01e29b (diff)
downloadrpmdrake-825a6a0d7b41e624c01d0236ec73d31296c352c6.tar
rpmdrake-825a6a0d7b41e624c01d0236ec73d31296c352c6.tar.gz
rpmdrake-825a6a0d7b41e624c01d0236ec73d31296c352c6.tar.bz2
rpmdrake-825a6a0d7b41e624c01d0236ec73d31296c352c6.tar.xz
rpmdrake-825a6a0d7b41e624c01d0236ec73d31296c352c6.zip
handle /etc/urpmi/proxy.cfg proxies, have a proxy dialog config in
edit-urpm-sources
Diffstat (limited to 'grpmi/curl_download/curl_download.pm')
-rw-r--r--grpmi/curl_download/curl_download.pm27
1 files changed, 26 insertions, 1 deletions
diff --git a/grpmi/curl_download/curl_download.pm b/grpmi/curl_download/curl_download.pm
index 329a05c2..7c6ec472 100644
--- a/grpmi/curl_download/curl_download.pm
+++ b/grpmi/curl_download/curl_download.pm
@@ -1,14 +1,39 @@
package curl_download;
use strict;
-use vars qw($VERSION @ISA);
+use vars qw($VERSION @ISA @EXPORT);
+use MDK::Common;
require DynaLoader;
@ISA = qw(DynaLoader);
+@EXPORT = qw(download readproxy writeproxy);
$VERSION = '1.0';
bootstrap curl_download $VERSION;
+sub readproxy {
+ my ($proxy, $proxy_user);
+ foreach (cat_('/etc/urpmi/proxy.cfg')) {
+ /^http_proxy\s*=\s*(.*)$/ and $proxy = $1;
+ /^ftp_proxy\s*=\s*(.*)$/ and $proxy = $1;
+ /^proxy_user\s*=\s*(.*)$/ and $proxy_user = $1;
+ }
+ ($proxy, $proxy_user);
+}
+
+sub writeproxy {
+ my ($proxy, $proxy_user) = @_;
+ output("/etc/urpmi/proxy.cfg",
+ if_($proxy, "http_proxy=$proxy\n"),
+ if_($proxy_user, "proxy_user=$proxy_user\n"));
+}
+
+sub download {
+ my ($url, $location, $downloadprogress_callback) = @_;
+
+ download_real($url, $location, $downloadprogress_callback, readproxy());
+}
+
1;