You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs-cvs@perl.apache.org by st...@apache.org on 2004/07/19 02:04:24 UTC
cvs commit: modperl-docs/src/docs/2.0/api/Apache Response.pod
stas 2004/07/18 17:04:24
Modified: src/docs/2.0/api/Apache Response.pod
Log:
work in progress
Revision Changes Path
1.5 +167 -65 modperl-docs/src/docs/2.0/api/Apache/Response.pod
Index: Response.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/Apache/Response.pod,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -u -r1.4 -r1.5
--- Response.pod 22 May 2004 02:03:27 -0000 1.4
+++ Response.pod 19 Jul 2004 00:04:24 -0000 1.5
@@ -16,7 +16,10 @@
=head1 Description
-META: to be completed
+C<Apache::Response> provides the L<Apache request
+object|docs::2.0::api::Apache::RequestRec> utilities API for dealing
+with HTTP response generation process.
+
@@ -30,38 +33,76 @@
=head2 C<custom_response>
-META: Autogenerated - needs to be reviewed/completed
-
Install a custom response handler for a given status
$r->custom_response($status, $string);
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
The current request
-=item arg1: C<$status> (integer)
+=item arg1: C<$status> ( C<L<Apache::Const
+constant|docs::2.0::api::Apache::Const>> )
The status for which the custom response should be used
+(e.g. C<Apache::AUTH_REQUIRED>)
=item arg2: C<$string> (string)
-The custom response. This can be a static string, a file
-or a URL
+The custom response to use. This can be a static string, or a URL,
+full or just the uri path (I</foo/bar.txt>).
=item ret: no return value
+=item since: 1.99_10
+
=back
+C<custom_response()> doesn't alter the response code, but is used to
+replace the standard response body. For example, here is how to change
+the response body for the access handler failure:
+
+ package MyApache::MyShop;
+ use Apache::Response ();
+ use Apache::Const -compile => qw(FORBIDDEN OK);
+ sub access {
+ my $r = shift;
+
+ if (MyApache::MyShop::tired_squirrels()) {
+ $r->custom_response(Apache::FORBIDDEN,
+ "It's siesta time, please try later");
+ return Apache::FORBIDDEN;
+ }
+
+ return Apache::OK;
+ }
+ ...
+
+ # httpd.conf
+ PerlModule MyApache::MyShop
+ <Location /TestAPI__custom_response>
+ AuthName dummy
+ AuthType none
+ PerlAccessHandler MyApache::MyShop::access
+ PerlResponseHandler MyApache::MyShop::response
+ </Location>
+When squirrels can't run any more, the handler will return 403, with
+the custom message:
+ It's siesta time, please try later
-=head2 C<make_etag>
-META: Autogenerated - needs to be reviewed/completed
+
+
+
+
+
+=head2 C<make_etag>
Construct an entity tag from the resource information. If it's a real
file, build in some of the file characteristics.
@@ -70,7 +111,8 @@
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
The current request
@@ -83,50 +125,62 @@
The entity tag
+=item since: 1.99_10
+
=back
-=head2 C<meets_conditions>
-META: Autogenerated - needs to be reviewed/completed
-Implements condition GET rules for HTTP/1.1 specification. This function
-inspects the client headers and determines if the response fulfills
-the requirements specified.
+=head2 C<meets_conditions>
+
+Implements condition C<GET> rules for HTTP/1.1 specification. This
+function inspects the client headers and determines if the response
+fulfills the specified requirements.
- $ret = $r->meets_conditions();
+ $status = $r->meets_conditions();
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
The current request
-=item ret: C<$ret> (integer)
+=item ret: C<$status> ( C<L<Apache::Const
+status constant|docs::2.0::api::Apache::Const>> )
-1 if the response fulfills the condition GET rules, 0 otherwise
+C<Apache::OK> if the response fulfills the condition GET
+rules. Otherwise some other status code (which should be returned to
+Apache).
+
+=item since: 1.99_10
=back
+Refer to the L<Generating Correct HTTP
+Headers|docs::general::correct_headers::correct_headers/> document
+for an indepth discussion of this method.
-=head2 C<rationalize_mtime>
-META: Autogenerated - needs to be reviewed/completed
-Return the latest rational time from a request/mtime pair. Mtime is
-returned unless it's in the future, in which case we return the current time.
- $rat_mtime = $r->rationalize_mtime($mtime);
+=head2 C<rationalize_mtime>
+
+Return the latest rational time from a request/mtime pair.
+
+ $mtime_rat = $r->rationalize_mtime($mtime);
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
The current request
@@ -134,12 +188,58 @@
The last modified time
-=item ret: C<$rat_mtime> (number)
+=item ret: C<$mtime_rat> (number)
-the latest rational time.
+the latest rational time from a request/mtime pair. Mtime is
+returned unless it's in the future, in which case we return the
+current time.
+
+=item since: 1.99_10
+
+=back
+
+
+
+
+
+
+
+=head2 C<send_cgi_header>
+
+Parse the header
+
+ $r->send_cgi_header($buffer);
+
+=over 4
+
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
+
+=item arg1: C<$buffer> (string)
+
+headers and optionally a response body
+
+=item ret: no return value
+
+=item since: 1.99_10
=back
+This method is really for back-compatibility with mod_perl 1.0. It's
+very inefficient to send headers this way, because of the parsing
+overhead.
+
+If there is a response body following the headers it'll be handled too
+(as if it was sent via
+C<L<print()|docs::2.0::api::Apache::RequestIO::C_print_/>>).
+
+Notice that if only HTTP headers are included they won't be sent until
+some body is sent (again the "send" part is retained from the mod_perl
+1.0 method).
+
+
+
+
@@ -148,13 +248,18 @@
META: Autogenerated - needs to be reviewed/completed
-Send error back to client.
+Send an "error" response back to client. It is used for any response
+that can be generated by the server from the request record. This
+includes all 204 (no content), 3xx (redirect), 4xx (client error), and
+5xx (server error) messages that have not been redirected to another
+handler via the ErrorDocument feature.
$r->send_error_response($recursive_error);
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
The current request
@@ -168,6 +273,8 @@
=item ret: no return value
+=item since: 1.99_10
+
=back
@@ -184,7 +291,8 @@
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
The current request
@@ -204,6 +312,8 @@
The number of bytes sent
+=item since: 1.99_10
+
=back
@@ -220,7 +330,8 @@
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
The current request
@@ -230,6 +341,8 @@
=item ret: no return value
+=item since: 1.99_10
+
=back
@@ -246,10 +359,13 @@
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
=item ret: no return value
+=item since: 1.99_10
+
=back
@@ -266,7 +382,8 @@
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
The current request
@@ -274,37 +391,13 @@
1 if keepalive can be set, 0 otherwise
-=back
-
-
-
-
-
-=head2 C<update_mtime>
-
-META: Autogenerated - needs to be reviewed/completed
-
-Function to set the r-E<gt>mtime field to the specified value if it's
-later than what's already there.
-
- $r->update_mtime($dependency_mtime);
-
-=over 4
-
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
-
-The current request
-
-=item arg1: C<$dependency_mtime> (number)
-
-=item ret: no return value
+=item since: 1.99_10
=back
-
=head2 C<set_last_modified>
META: Autogenerated - needs to be reviewed/completed
@@ -315,35 +408,44 @@
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
=item arg1: C<$mtime> (number)
=item ret: no return value
-=back
+=item since: 1.99_10
+=back
-=head2 C<send_cgi_header>
+=head2 C<update_mtime>
META: Autogenerated - needs to be reviewed/completed
+Function to set the r-E<gt>mtime field to the specified value if it's
+later than what's already there.
-
- $r->send_cgi_header($buffer);
+ $r->update_mtime($dependency_mtime);
=over 4
-=item obj: C<$r> (C<L<Apache::RequestRec|docs::2.0::api::Apache::RequestRec>>)
+=item obj: C<$r>
+( C<L<Apache::RequestRec object|docs::2.0::api::Apache::RequestRec>> )
-=item arg1: C<$buffer> (string)
+The current request
+
+=item arg1: C<$dependency_mtime> (number)
=item ret: no return value
+=item since: 1.99_10
+
=back
+
---------------------------------------------------------------------
To unsubscribe, e-mail: docs-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: docs-cvs-help@perl.apache.org