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
  
  
  

Reply via email to