John Drago


ASP4::Mock::RequestRec - Mimic an Apache2::RequestRec object


When an ASP4 request is executed outside of a mod_perl2 environment, it uses an instance of ASP4::Mock::RequestRec in place of the Apache2::RequestRec it would otherwise have.


pnotes( $name [, $value ] )

Sets or gets the value of a named "pnote" for the duration of the request.


  $r->pnotes( foo => "foovalue" );
  my $val = $r->pnotes( 'foo' );

args( [$new_args] )

Sets or gets the querystring for the request.


  my $str = $r->args();
  $r->args( 'foo=bar&baz=bux' );

uri( [$new_uri] )

Sets or gets the URI for the current request:


  my $uri = $r->uri;
  $r->uri( '/path/to/page.asp' );

document_root( )

Gets the document root for the server. This is the same as $config->web->www_root.

  my $root = $r->document_root; # /var/www/

method( )

Gets the request method for the current request. Eg: GET or POST.

  if( $r->method eq 'GET' ) {
    # It's a "GET" request:
  elsif( $r->method eq 'POST' ) {
    # It's a "POST" request:

pool( )

Returns the current ASP4::Mock::Pool object.

  my $pool = $r->pool;

connection( )

Returns the current ASP4::Mock::Connection object.

  my $connection = $r->connection;

headers_out( )

Returns a hashref representing the outgoing headers.

err_headers_out( )

Returns a hashref representing the outgoing headers.

status( [$new_status] )

Sets or gets the status code for the response. 200 for "OK", 301 for "Moved" - 404 for "not found" etc.

content_type( [$new_content_type] )

Sets or gets the mime-header for the outgoing response. Default is text/plain.


print( $str )

Adds $str to the outgoing response buffer.

rflush( )

Does nothing.


It's possible that some bugs have found their way into this release.

Use RT to submit bug reports.


Please visit the ASP4 homepage at to see examples of ASP4 in action.