Had a look at the glue source code, and it looks like the hook gets passed a Param, and a data buffer. Using
my ($upload, $buffer) = @_; $received = $received + length($buffer); solved my problem... Regards, Franck > -----Original Message----- > From: Franck Mangin [mailto:[EMAIL PROTECTED] > Sent: Saturday, December 03, 2005 3:38 PM > To: [email protected] > Subject: Upload hooks > > I am trying to use the UPLOAD_HOOK in 2.06 to track the > progress of the upload. I understand the api doc. is out of > sync, but from the Changes notes I gathered something like > the following should work: > > my $req = Apache2::Request->new($r , > UPLOAD_HOOK => sub { > $log->info("PARAMS: " . > join(',', > @_)); > my ($upload, $data_len) = @_; > $size_received = > $size_received + > $data_len; > }) > || $log->error("UP: could not create Apache2::Request"); > > Unfortunately it looks like my hook receives only one > argument, the name of the file being uploaded. The log_info > above generates this: > > [info] [client 192.168.0.117] PARAMS: 10M.bin,, > > I have also tried accessing $upload->size in the hook, > without success - $upload seems to be a scalar. > Any hint on how to achieve this would be greatly appreciated! > > Thanks, > Franck >
