stas 2004/02/23 16:35:22
Modified: src/docs/2.0/api/Apache RequestRec.pod
Log:
extend on the proxyreq entry
Revision Changes Path
1.8 +30 -4 modperl-docs/src/docs/2.0/api/Apache/RequestRec.pod
Index: RequestRec.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/Apache/RequestRec.pod,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -u -r1.7 -r1.8
--- RequestRec.pod 15 Jan 2004 01:08:12 -0000 1.7
+++ RequestRec.pod 24 Feb 2004 00:35:22 -0000 1.8
@@ -40,9 +40,8 @@
=head2 C<proxyreq>
-META: Autogenerated - needs to be reviewed/completed
-
-
+Get and set the I<proxyrec> request record member and optionally
+adjust other related fields.
$ret = $r->proxyreq($val);
@@ -50,12 +49,39 @@
=item arg1: C<$r>
(C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
-=item arg2: C<$val> (integer)
+=item arg2 opt: C<$val> (integer)
+
+0, 1 or none.
=item ret: C<$ret> (integer)
+If C<$val> is 0 or 1, the I<proxyrec> member will be set to that value
+and previous value will be returned.
+
+If C<$val> is not passed, and C<$r-E<gt>proxyreq> is not true, and the
+proxy request is matching the current vhost (scheme, hostname and
+port), the I<proxyrec> member will be set to 1 and that value will be
+returned. In addition C<$r-E<gt>uri> is set to C<$r-E<gt>unparsed_uri>
+and C<$r-E<gt>filename> is set to C<"modperl-proxy:".$r-E<gt>uri>. If
+those conditions aren't true 0 is returned.
+
=back
+For example to turn a normal request into a proxy request to be
+handled on the same server in the C<PerlTransHandler> phase run:
+
+ my $real_url = $r->unparsed_uri;
+ $r->proxyreq(1);
+ $r->uri($real_url);
+ $r->filename("proxy:$real_url");
+ $r->handler('proxy-server');
+
+Also remember that if you want to turn a proxy request into a
+non-proxy request, it's not enough to call:
+
+ $r->proxyreq(0);
+
+You need to adjust C<$r-E<gt>uri> and C<$r-E<gt>filename> as well.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]