--- loncom/lonnet/perl/lonnet.pm 2000/07/25 15:39:41 1.22 +++ loncom/lonnet/perl/lonnet.pm 2000/08/14 21:40:46 1.23 @@ -23,7 +23,8 @@ # get(namesp,array) : returns hash with keys from array filled in from namesp # put(namesp,hash) : stores hash in namesp # dump(namesp) : dumps the complete namespace into a hash -# ssi(url) : does a complete request cycle on url to localhost +# ssi(url,hash) : does a complete request cycle on url to localhost, posts +# hash # repcopy(filename) : replicate file # dirlist(url) : gets a directory listing # @@ -36,6 +37,7 @@ # 06/05,06/26 Gerd Kortemeyer # 06/26 Ben Tyszka # 06/30,07/15,07/17,07/18,07/20,07/21,07/22,07/25 Gerd Kortemeyer +# 08/14 Ben Tyszka package Apache::lonnet; @@ -303,6 +305,7 @@ sub subscribe { sub repcopy { my $filename=shift; + $filename=~s/\/+/\//g; my $transname="$filename.in.transfer"; if ((-e $filename) || (-e $transname)) { return OK; } my $remoteurl=subscribe($filename); @@ -360,10 +363,19 @@ sub repcopy { sub ssi { - my $fn=shift; + my ($fn,%form)=@_; my $ua=new LWP::UserAgent; - my $request=new HTTP::Request('GET',"http://".$ENV{'HTTP_HOST'}.$fn); + + my $request; + + if (%form) { + $request=new HTTP::Request('POST',"http://".$ENV{'HTTP_HOST'}.$fn); + $request->content(join '&', map { "$_=$form{$_}" } keys %form); + } else { + $request=new HTTP::Request('GET',"http://".$ENV{'HTTP_HOST'}.$fn); + } + $request->header(Cookie => $ENV{'HTTP_COOKIE'}); my $response=$ua->request($request);