Hi,

Is there a data structure that gets passed to each response handler in
the chain that the processed file can be stored in (like $f->ctx)?

Can the old mod_perl1 ->filter_input behaviour be done by manipulating
the input_filter or output_filter stacks?

Is what I'm trying to do vaguely sane, even? With the following directive:

PerlResponseHandler +Module::Test1 +Module::Test2

Having both Test1 and Test2 process the HTML response body in turn with
mod_perl1 was pretty straightforward. I reckon I must be missing
something pretty obvious, surely?

Iain

Iain Kennedy wrote:
> Hi,
> 
> I'm in the process of upgrading an application to mod_perl2. The
> application currently relies on chained content handlers. Each
> PerlResponseHandler in the chain uses the following mechanism to get
> (and then process) the requested file:
> 
> $r->filter_register;
> my ($fh, $status) = $self->{'r'}->filter_input();
> ...
> ...
> 
> The call to ->filter_input takes care of whether to open the file from
> disk or read it from the previous response handler in the chain, so that
> each response handler in turn can make changes to the
> 
> Reading through the mod_perl2 docs, it's clear that the new
> Apache2::Filter mechanism is far more powerful and flexible, but I'm not
> currently in a position to re-engineer the application to change it from
> a response handler to a PerlOutputFilterHandler.
> 
> In my imagined upgrade path there would be a way to replace the
> ->filter_input call with some calls to the new Apache2::Filter API to
> slurp the data into the handler. Perhaps I'm missing something glaringly
> obvious, or simply trying to bang a square peg in a round hole.
> 
> And pointers on this would be greatly appreciated.
> 
> Regards,
> 
> Iain
> 

Reply via email to