Re: ap_rwrite()/ap_rvputs() called in PerlCleanupHandler

2002-10-16 Thread srp

Hello,

 Caught the problem. It was a unexpected 'print STDOUT' happening in the Cleanup
Handler. :-( sorry for the trouble.

regards
srp

You wrote:

 Envelope-to: [EMAIL PROTECTED]
 Received: from symonds.net [63.194.20.32] 
   by symonds.net with smtp (Exim 3.35 #1 (Debian))
   id 181QC0-0001uo-00; Tue, 15 Oct 2002 04:48:56 -0700
 Date: Tue, 15 Oct 2002 04:48:56 -0700 (PDT)
 To: [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED], [EMAIL PROTECTED]
 Subject: Re: ap_rwrite()/ap_rvputs() called in PerlCleanupHandler
 X-URL: http://www.symonds.net/
 Message-Id: [EMAIL PROTECTED]
 From: [EMAIL PROTECTED]
 X-UIDL: HH\!TZ!!W[T!+/6!!
 Status: RO
 
 Thanks for reply ..
 
  Hello!
  
  internal_redirect()
   The required argument is an absolute URI path on the current server.
   The server will process the URI as if it were a whole new request,
   running the URI translation, MIME type checking, and other phases
   before invoking the appropriate content handler for the new URI.
   The content handler that eventually runs is not necessarily the same
   as the one that invoked internal_redirect().
   This method should only be called within a content handler.
 
 Yes, I understand that. What I am saying is this ... 
 
 After a successfull internal_redirect(), and return OK my content handler has 
 exited - The content has now reached my client. Now my cleanup handler is 
 executing. I am not understanding why Apache is attempting to write to client 
 now !!
 
 Also, by using internal_redirect_handler() you can make r-handler (which is
the 
 current handler by default) handle this redirect().
 
  
  ssn Why is apache re-doing the request after a internal_redirect() ? ( and 
 that too 
  ssn in the cleanup phase ??)
  
  ssn Please help me understand this. Any hints most appreciated :-)
   mailto:[EMAIL PROTECTED]
 
 regards
 srp 
 
 



Re: ap_rwrite()/ap_rvputs() called in PerlCleanupHandler

2002-10-15 Thread Ruslan U. Zakirov

Hello!

internal_redirect()
 The required argument is an absolute URI path on the current server.
 The server will process the URI as if it were a whole new request,
 running the URI translation, MIME type checking, and other phases
 before invoking the appropriate content handler for the new URI.
 The content handler that eventually runs is not necessarily the same
 as the one that invoked internal_redirect().
 This method should only be called within a content handler.
That from Writing Apache modules with Perl and C.
ssn Hello,

ssn Why is apache re-doing the request after a internal_redirect() ? ( and that too 
ssn in the cleanup phase ??)

ssn Please help me understand this. Any hints most appreciated :-)
 mailto:[EMAIL PROTECTED]




Re: ap_rwrite()/ap_rvputs() called in PerlCleanupHandler

2002-10-15 Thread Ruslan U. Zakirov

Hello again.
May be it helps to solve your problem.
is_initial_req()

There are several instances in which an incoming URI request can
trigger one or more secondary internal requests. An internal request
is triggered when internal_redirect() is called explicitly, and it
also happens behind the scenes when lookup_file() and lookup_uri()
are called.

With the exception of the logging phase, which is run just once for
the primary request, secondary requests are run through each of the
transaction processing phases, and the appropriate handlers are
called each time. There may be times when you don't want a
particular handler running on a subrequest or internal redirect,
either to avoid performance overhead or to avoid infinite recursion.
The is_initial_req() method will return a true value if the current
request is the primary one and false if the request is the result of
a subrequest or an internal redirect.

return DECLINED unless $r-is_initial_req;

ssn Hello,

ssn Why is apache re-doing the request after a internal_redirect() ? ( and that too 
ssn in the cleanup phase ??)

ssn Please help me understand this. Any hints most appreciated :-)
  mailto:[EMAIL PROTECTED]




Re: ap_rwrite()/ap_rvputs() called in PerlCleanupHandler

2002-10-15 Thread srp

Thanks for reply ..

 Hello!
 
 internal_redirect()
  The required argument is an absolute URI path on the current server.
  The server will process the URI as if it were a whole new request,
  running the URI translation, MIME type checking, and other phases
  before invoking the appropriate content handler for the new URI.
  The content handler that eventually runs is not necessarily the same
  as the one that invoked internal_redirect().
  This method should only be called within a content handler.

Yes, I understand that. What I am saying is this ... 

After a successfull internal_redirect(), and return OK my content handler has 
exited - The content has now reached my client. Now my cleanup handler is 
executing. I am not understanding why Apache is attempting to write to client 
now !!

Also, by using internal_redirect_handler() you can make r-handler (which is the 
current handler by default) handle this redirect().

 
 ssn Why is apache re-doing the request after a internal_redirect() ? ( and 
that too 
 ssn in the cleanup phase ??)
 
 ssn Please help me understand this. Any hints most appreciated :-)
  mailto:[EMAIL PROTECTED]

regards
srp