> -----Original Message-----
> From: Alin Simionoiu [mailto:[EMAIL PROTECTED]]
> Sent: Sunday, September 30, 2001 7:04 PM
> To: Thomas Eibner
> Cc: Issac Goldstand; [EMAIL PROTECTED]
> Subject: Re: Keeping POST information between request phases
>
>
> I tried instance, but is not working is you want to access let's say,
> POST data in a authentication handler, doing same data validation or
> whatever you want to do, and also access the same POST data
> at response
> phase.
there must be a problem with your setup then - this is _exactly_ why
instance() was created. It came out of discussions about
Apache::RequestNotes, which solves this exact issue. Matt and Jim decided
that the functionality of Apache::RequestNotes probably belonged in
Apache::Request proper, hence instance().
>
> And this is because, as it is explained in guide, POST data are
> retrieved directly from the socket.So once you read that, is gone.
>
> The only way to keep this around that I know about is to internally
> transform POST in a GET.
no. Apache::RequestNotes and instance() are far better solutions. with
those you only pass around a reference to the POST data, which is cleaner.
furthermore, Apache::Request only parses POST once you call param(), not
when you call instance() or new(), which is an extra savings.
>
> For sure this is not the best solution, specially if you have
> large POST
> body, because you can exceed GET maximum length.
that's why there is Apache::Request :)
HTH
--Geoff
>
>
>
> On Mon, 2001-10-01 at 10:35, Thomas Eibner wrote:
> > On Sun, Sep 30, 2001 at 03:23:51PM -0700, Alin Simionoiu wrote:
> > > Apache::Request->instance($r) will not work for POST reqests.
> > > At list will not do what you want.
> >
> > Apache::Request->instance works very well with POST requests.
> >
> > >From the documentation:
> >
> > instance
> >
> > The instance() class method allows Apache::Request to
> > be a singleton. This means that whenever you call
> > Apache::Request->instance() within a single request
> > you always get the same Apache::Request object back.
> > This solves the problem with creating the
> > Apache::Request object twice within the same request -
> > the symptoms being that the second Apache::Request
> > object will not contain the form parameters because
> > they have already been read and parsed.
> >
> > my $apr = Apache::Request->instance($r, DISABLE_UPLOADS => 1);
> >
> > Note that "instance()" call will take the same parame-
> > ters as the above call to "new()", however the parame-
> > ters will only have an effect the first time
> > "instance()" is called within a single request. Extra
> > parameters will be ignored on subsequent calls to
> > "instance()" within the same request.
> >
> > > Read this for more information:
> > >
> > >
http://perl.apache.org/guide/snippets.html#Reusing_Data_from_POST_request
>
> Above instance method was made to avoid having to do workarounds like
> that in the guide.
>
> --
> Thomas Eibner <http://thomas.eibner.dk/> DnsZone <http://dnszone.org/>
> mod_pointer <http://stderr.net/mod_pointer>
>