dougm 01/05/08 11:56:00
Modified: lib/ModPerl Code.pm
src/modules/perl mod_perl.h modperl_apache_includes.h
modperl_env.c
t/response/TestModules cgi.pm
xs/maps modperl_functions.map
Added: xs/Apache/Response Apache__Response.h
Log:
integrate with modperl_cgi module and add $r->send_cgi_header method
Revision Changes Path
1.64 +1 -1 modperl-2.0/lib/ModPerl/Code.pm
Index: Code.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/lib/ModPerl/Code.pm,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- Code.pm 2001/05/08 04:25:48 1.63
+++ Code.pm 2001/05/08 18:55:34 1.64
@@ -522,7 +522,7 @@
);
my @c_src_names = qw(interp tipool log config cmd options callback handler
- gtop util io filter bucket mgv pcw global env);
+ gtop util io filter bucket mgv pcw global env cgi);
my @g_c_names = map { "modperl_$_" } qw(hooks directives flags xsinit);
my @c_names = ('mod_perl', (map "modperl_$_", @c_src_names));
sub c_files { [map { "$_.c" } @c_names, @g_c_names] }
1.34 +1 -0 modperl-2.0/src/modules/perl/mod_perl.h
Index: mod_perl.h
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- mod_perl.h 2001/05/08 04:25:49 1.33
+++ mod_perl.h 2001/05/08 18:55:42 1.34
@@ -32,6 +32,7 @@
#include "modperl_mgv.h"
#include "modperl_global.h"
#include "modperl_env.h"
+#include "modperl_cgi.h"
void modperl_init(server_rec *s, apr_pool_t *p);
void modperl_hook_init(apr_pool_t *pconf, apr_pool_t *plog,
1.5 +2 -0 modperl-2.0/src/modules/perl/modperl_apache_includes.h
Index: modperl_apache_includes.h
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_apache_includes.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- modperl_apache_includes.h 2001/03/15 02:17:35 1.4
+++ modperl_apache_includes.h 2001/05/08 18:55:44 1.5
@@ -24,4 +24,6 @@
#include "apr_buckets.h"
#include "util_filter.h"
+#include "util_script.h"
+
#endif /* MODPERL_APACHE_INCLUDES_H */
1.2 +0 -1 modperl-2.0/src/modules/perl/modperl_env.c
Index: modperl_env.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_env.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- modperl_env.c 2001/05/08 04:10:41 1.1
+++ modperl_env.c 2001/05/08 18:55:45 1.2
@@ -1,5 +1,4 @@
#include "mod_perl.h"
-#include "util_script.h"
#define EnvMgObj SvMAGIC((SV*)GvHV(PL_envgv))->mg_ptr
1.2 +3 -3 modperl-2.0/t/response/TestModules/cgi.pm
Index: cgi.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/response/TestModules/cgi.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cgi.pm 2001/05/08 04:25:51 1.1
+++ cgi.pm 2001/05/08 18:55:51 1.2
@@ -14,9 +14,9 @@
my $param = $cgi->param('PARAM');
my $httpupload = $cgi->param('HTTPUPLOAD');
-# $cgi->print( $cgi->header(-type => "text/plain",
-# "-X-Perl-Script" => "cgi.pl") );
-
+ print $cgi->header('-type' => 'text/plain',
+ '-X-Perl-Script' => 'cgi.pm');
+ $r->send_cgi_header("X-Foo-Bar: baz\r\n\r\nthis is text\n");
print "ok $param\n" if $param;
if ($httpupload) {
1.16 +3 -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.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- modperl_functions.map 2001/05/05 19:24:43 1.15
+++ modperl_functions.map 2001/05/08 18:55:55 1.16
@@ -23,6 +23,9 @@
apr_ssize_t:DEFINE_WRITE | | \
request_rec *:r, SV *:buffer, apr_ssize_t:bufsiz=-1, int:offset=0
+MODULE=Apache::Response PACKAGE=Apache::RequestRec
+DEFINE_send_cgi_header | | request_rec *:r, SV *:buffer
+
MODULE=Apache::ServerUtil PACKAGE=guess
mpxs_Apache__Server_push_handlers
mpxs_Apache__Server_set_handlers
1.1 modperl-2.0/xs/Apache/Response/Apache__Response.h
Index: Apache__Response.h
===================================================================
/*
* pretty sure we need to copy SvPVX, otherwise it will be modified inline
* XXX: that might be a desired feature
*/
/* XXX: this should probably named $r->cgi_header_parse
* and send_cgi_header an alias in Apache::compat
*/
#define mpxs_Apache__RequestRec_send_cgi_header(r, sv) \
{ \
STRLEN len; \
char *buff = SvPV(sv, len); \
char *copy = apr_palloc(r->pool, len+1); \
const char *bodytext; \
apr_cpystrn(copy, buff, len+1); \
modperl_cgi_header_parse(r, copy, &bodytext); \
}