dougm 01/04/13 00:17:08 Modified: src/modules/perl modperl_types.h xs/Apache/Filter Apache__Filter.h xs/maps apache_structures.map modperl_functions.map Added: t/filter/TestFilter api.pm Log: enable Apache::Filter structure interface enable Apache::FilterRec module add Apache::OutputFilter->f method for access to Apache::Filter object add filter api test Revision Changes Path 1.35 +0 -3 modperl-2.0/src/modules/perl/modperl_types.h Index: modperl_types.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_types.h,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- modperl_types.h 2001/04/09 23:57:22 1.34 +++ modperl_types.h 2001/04/13 07:17:06 1.35 @@ -185,9 +185,6 @@ apr_pool_t *pool; } modperl_filter_t; -typedef modperl_filter_t * Apache__OutputFilter; -typedef modperl_filter_t * Apache__InputFilter; - typedef struct { SV *data; modperl_handler_t *handler; 1.1 modperl-2.0/t/filter/TestFilter/api.pm Index: api.pm =================================================================== package TestFilter::api; use strict; use warnings FATAL => 'all'; use Apache::Filter (); use Apache::FilterRec (); use Test; my $response_data = "blah blah blah"; sub init_test_pm { my $filter = shift; { package Apache::OutputFilter; #XXX: make part of standard api? unless (defined &PRINT) { *PRINT = \&print; *TIEHANDLE = sub { shift }; } } tie *STDOUT, $filter; $Test::TESTOUT = \*STDOUT; $Test::planned = 0; $Test::ntest = 1; } sub handler { my $filter = shift; $filter->read(my $buffer); #slurp everything; init_test_pm($filter); plan tests => 6; ok $buffer eq $response_data; my $f = $filter->f; ok $f->isa('Apache::Filter'); my $frec = $f->frec; ok $frec->isa('Apache::FilterRec'); ok $frec->name; my $r = $f->r; ok $r->isa('Apache::RequestRec'); ok $r->uri eq '/' . __PACKAGE__; 0; } sub response { my $r = shift; $r->content_type('text/plain'); $r->puts($response_data); Apache::OK; } 1; __DATA__ SetHandler modperl PerlResponseHandler TestFilter::api::response 1.3 +2 -0 modperl-2.0/xs/Apache/Filter/Apache__Filter.h Index: Apache__Filter.h =================================================================== RCS file: /home/cvs/modperl-2.0/xs/Apache/Filter/Apache__Filter.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Apache__Filter.h 2001/03/13 07:28:54 1.2 +++ Apache__Filter.h 2001/04/13 07:17:07 1.3 @@ -1,3 +1,5 @@ +#define mpxs_Apache__OutputFilter_f(filter) filter->f + #define mpxs_Apache__RequestRec_add_output_filter(r, name, ctx) \ ap_add_output_filter(name, ctx, r, NULL) 1.3 +3 -3 modperl-2.0/xs/maps/apache_structures.map Index: apache_structures.map =================================================================== RCS file: /home/cvs/modperl-2.0/xs/maps/apache_structures.map,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- apache_structures.map 2001/03/25 22:32:11 1.2 +++ apache_structures.map 2001/04/13 07:17:08 1.3 @@ -160,14 +160,14 @@ errmsg </command_rec> -!<ap_filter_rec_t> +<ap_filter_rec_t> name - filter_func - ftype +! ftype next </ap_filter_rec_t> -!<ap_filter_t> +<ap_filter_t> frec ctx next 1.2 +1 -0 modperl-2.0/xs/maps/modperl_functions.map Index: modperl_functions.map =================================================================== RCS file: /home/cvs/modperl-2.0/xs/maps/modperl_functions.map,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- modperl_functions.map 2001/03/17 17:33:03 1.1 +++ modperl_functions.map 2001/04/13 07:17:08 1.2 @@ -22,3 +22,4 @@ MODULE=Apache::Filter PACKAGE=Apache::OutputFilter mpxs_Apache__OutputFilter_print | | ... mpxs_Apache__OutputFilter_read | | ... + ap_filter_t *:DEFINE_f | | modperl_filter_t *:filter