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