1 package Catalyst::Engine::CGI::APR;
4 use base 'Catalyst::Engine::CGI::Base';
10 use APR::Request::Param;
14 Catalyst::Engine::CGI::APR - The CGI APR Engine
18 A script using the Catalyst::Engine::CGI::APR module might look like:
23 $ENV{CATALYST_ENGINE} = 'CGI::APR';
27 use lib '/path/to/MyApp/lib';
34 This Catalyst engine uses C<APR::Request> for parsing of message body.
36 =head1 OVERLOADED METHODS
38 This class overloads some methods from C<Catalyst::Engine::CGI::Base>.
42 =item $c->prepare_parameters
46 sub prepare_parameters {
51 $c->cgi->param->do( sub {
52 my ( $field, $value ) = @_;
53 push( @params, $field, $value );
57 $c->request->param(@params);
60 =item $c->prepare_request
66 $c->cgi( APR::Request::CGI->new( APR::Pool->new ) );
69 =item $c->prepare_uploads
78 $c->cgi->upload->do( sub {
79 my ( $field, $upload ) = @_;
81 my $object = Catalyst::Request::Upload->new(
82 filename => $upload->filename,
83 size => $upload->size,
84 tempname => $upload->tempname,
88 push( @uploads, $field, $object );
93 $c->request->upload(@uploads);
100 L<Catalyst>, L<Catalyst::Engine>, L<Catalyst::Engine::CGI::Base>,
105 Sebastian Riedel, C<sri@cpan.org>
106 Christian Hansen, C<ch@ngmedia.com>
110 This program is free software, you can redistribute it and/or modify it under
111 the same terms as Perl itself.