Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^3: CGI hook

by Zaxo (Archbishop)
on Aug 08, 2006 at 03:23 UTC ( #566058=note: print w/replies, xml ) Need Help??

in reply to Re^2: CGI hook
in thread CGI hook

In my, that passage reads,

           You can set up a callback that will be called whenever a
       file upload is being read during the form processing. This
       is much like the UPLOAD_HOOK facility available in
       Apache::Request, with the exception that the first
       argument to the callback is an Apache::Upload object, here
       it's the remote filename.

        $q = CGI->new();

        sub hook
               my ($filename, $buffer, $bytes_read, $data) = @_;
               print  "Read $bytes_read bytes of $filename\n";

The hook is not an argument to new, but is set in the upload_hook method.

After Compline,

Replies are listed 'Best First'.
Re^4: CGI hook
by cees (Curate) on Aug 08, 2006 at 04:27 UTC

    That example in the docs never worked right. upload_hook can only be used as a function call, not as a method call. This is because when you create a new CGI object, it immediately calls 'init' which parses the request information, and that includes handling any file uploads. So by the time new returns, the file upload has already been handled and hence it is too late to set up the upload hook. That is why it was changed so that you pass the upload hook as a parameter to new.

    However, when using the functional interface you can use the upload_hook function, as long as you call it before you make any other calls.

Re^4: CGI hook
by rhesa (Vicar) on Aug 08, 2006 at 03:36 UTC
    It was added as an option to new() in version 3.12. For versions before that, you are right. Current version is 3.20 btw.
Re^4: CGI hook
by imp (Priest) on Aug 08, 2006 at 03:47 UTC
    Timeline for upload_hook support:
    • 3.01 - upload_hook support added
    • 3.03 - support for upload_hook configuration in new() added
    • 3.12 - documentation updated to reflect change that was made in 3.03
    Found the correction for 3.12 by checking the change list:

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://566058]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2018-06-23 02:48 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (125 votes). Check out past polls.