httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Issac Goldstand <mar...@beamartyr.net>
Subject Re: Apache2::Request / Upload Hook / HOOK_DATA
Date Tue, 21 Aug 2007 08:45:36 GMT
In Apache2::Request you need to use a Perl closure to pass the hook_data. 

There's a great explanation on what a Perl closure is at 
http://www.perl.com/pub/a/2002/05/29/closure.html, but I'd look at 
working sample code before reading it (and then again after).  The 
general idea is we make a "private" version of the hook subroutine that 
already contains the private data. 

As an example, you could glance at 
http://search.cpan.org/src/ISAAC/Apache-UploadMeter-0.9915/lib/Apache/UploadMeter.pm
In this example, theres a special sub called hook_handler which takes 
the external hook_data and just returns a reference to an anonymous 
subroutine which is the actual handler.  The reference doesn't go out of 
scope when it's returned, and since it's still in scope, so is the 
$hook_data variable (this would be a good time to read the above article).

Hope this helps clarify a bit,
  Issac

Michael Michalowski Web.de wrote:
> hi,
>
>  I need to ask another question concerning Apache2::Request and the
>  upload hook. Documentation says, that it's possible to pass custom
>  data to the upload hook via HOOK_DATA parameter. Actually I noticed,
>  that this feature seems to be disabled in Apache2::Request:
>
>  Request.pm: sub hook_data {die "hook_data not implemented"}
>
>  Every example I found at google was written for Apache::Request (not
>  Apache2::Request) and so I'm a bit confused how to pass data to my
>  upload kook. It seems that the only data passed to the upload
>  callback is a APR::Request::Param object and the filedata from the
>  buffer. I tried to find a way to get the Apache2::Request Object or
>  Apache2::RequestRec Object with the APR::Request::Param object, but
>  there's no backwards reference (I wanted to store data with
>  $r->notes() method).
>
>  Can you please explain to me, how communication with the upload hook
>  is possible using Apache2::Request?
>
>  Thanks in advice!
>
> best regards,
> Michael
>   

Mime
View raw message