--- loncom/homework/externalresponse.pm 2014/12/22 17:04:03 1.32 +++ loncom/homework/externalresponse.pm 2017/05/23 03:07:34 1.33 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # external style responses # -# $Id: externalresponse.pm,v 1.32 2014/12/22 17:04:03 raeburn Exp $ +# $Id: externalresponse.pm,v 1.33 2017/05/23 03:07:34 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -40,6 +40,7 @@ use Apache::loncommon; use Apache::lonnavmaps; use Apache::essayresponse; use LONCAPA qw(:DEFAULT :match); +use LONCAPA::LWPReq; BEGIN { &Apache::lonxml::register('Apache::externalresponse',('externalresponse')); @@ -264,8 +265,14 @@ sub end_externalresponse { my $uname = &Apache::lonnet::EXT('user.name'); my $symb = &Apache::lonnet::symbread(); my %record = &Apache::lonnet::restore($symb,$env{'request.course.id'},$udom,$uname); - my $ua = LWP::UserAgent->new; - my $res = $ua->request(POST $url, \%form); + my $request=new HTTP::Request('POST',$url); + $request->content(join('&',map { + my $name = escape($_); + "$name=" . ( ref($form{$_}) eq 'ARRAY' + ? join("&$name=", map {escape($_) } @{$form{$_}}) + : &escape($form{$_}) ); + } keys(%form))); + my $res = &LONCAPA::LWPReq::makerequest('',$request,'','',10,1); my @delaccess = keys(%currently_turned_in); &Apache::lonnet::automated_portfile_access('ip',undef,\@delaccess,\%info); my @submitted_portfiles = split(/,/,$Apache::lonhomework::results{"resource.$part.$id.portfiles"});