The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Apache::RequestIO - Perl API for Apache request record IO

Synopsis

  use Apache::RequestIO ();

META: to be completed

Description

Apache::RequestIO provides the API to perform IO on the Apache request object.

API

Apache::RequestIO provides the following functions and/or methods:

discard_request_body

META: Autogenerated - needs to be reviewed/completed

In HTTP/1.1, any method can have a body. However, most GET handlers wouldn't know what to do with a request body if they received one. This helper routine tests for and reads any message body in the request, simply discarding whatever it receives. We need to do this because failing to read the request body would cause it to be interpreted as the next request on a persistent connection.

  $ret = $r->discard_request_body();
obj: $r (Apache::RequestRec)

The current request

ret: $ret (integer)

error status if request is malformed, Apache::OK otherwise

setup_client_block

META: Autogenerated - needs to be reviewed/completed

META: I think this method is deprecated along with other client_block methods, use plain $r-<read() instead.

Setup the client to allow Apache to read the request body.

  $ret = $r->setup_client_block($read_policy);
obj: $r (Apache::RequestRec)

The current request

arg1: $read_policy (Apache::RequestRec)

How the server should interpret a chunked transfer-encoding. One of:

    REQUEST_NO_BODY          Send 413 error if message has any body
    REQUEST_CHUNKED_ERROR    Send 411 error if body without Content-Length
    REQUEST_CHUNKED_DECHUNK  If chunked, remove the chunks for me.
ret: $ret (integer)

either OK or an error code

should_client_block

META: Autogenerated - needs to be reviewed/completed

META: I think this method is deprecated along with other client_block methods, use plain $r-<read() instead.

Determine if the client has sent any data. This also sends a 100 Continue response to HTTP/1.1 clients, so modules should not be called until the module is ready to read content.

  $ret = $r->should_client_block();
obj: $r (Apache::RequestRec)

The current request

ret: $ret (integer)

0 if there is no message to read, 1 otherwise

print

Send data to the client.

  $ret = $r->print(@msg);
obj: $r (Apache::RequestRec)
arg1: @msg (ARRAY)
ret: $ret (number)

read

Read data from the client.

  $read_count = $r->read($buffer, $len, $offset);

META: same as CORE::read, minus the filehandle argument

obj: $r (Apache::RequestRec)
arg1: $buffer (scalar)
arg2: $len (scalar)
arg3: $offset (number)
ret: $read_count (number)

How many characters were actually read

rflush

Flush any buffered data to the client.

  $ret = $r->rflush();
obj: $r (Apache::RequestRec)
ret: $ret (integer)

Unless $| > 0, data sent via $r->print() is buffered. This method flushes that data to the client.

sendfile

META: Autogenerated - needs to be reviewed/completed

  $ret = $r->sendfile($filename, $offset, $len);
obj: $r (Apache::RequestRec)
arg1: $filename (Apache::RequestRec)
arg2: $offset (integer)
arg3: $len (integer)
ret: $ret (integer)

write

META: Autogenerated - needs to be reviewed/completed

Write data to the client

  $ret = $r->write($buffer, $bufsiz, $offset);
obj: $r (Apache::RequestRec)
arg1: $buffer (scalar)
arg2: $bufsiz (scalar)
arg3: $offset (number)
ret: $ret (number)

TIE Interface

OPEN

META: Autogenerated - needs to be reviewed/completed

  $ret = OPEN($self, $arg1, $arg2);
obj: $self (scalar)
arg1: $arg1 (scalar)
arg2: $arg2 (scalar)
ret: $ret (integer)

UNTIE

META: Autogenerated - needs to be reviewed/completed

  $ret = $r->UNTIE($refcnt);
obj: $r (Apache::RequestRec)
arg1: $refcnt (Apache::RequestRec)
ret: $ret (scalar)

PRINTF

META: Autogenerated - needs to be reviewed/completed

  $ret = PRINTF(...);
obj: ... (scalar)
ret: $ret (number)

CLOSE

META: Autogenerated - needs to be reviewed/completed

  $ret = $r->CLOSE();
obj: $r (Apache::RequestRec)
ret: $ret (scalar)

PRINT

META: Autogenerated - needs to be reviewed/completed

  $ret = PRINT(...);
obj: ... (scalar)
ret: $ret (number)

BINMODE

META: Autogenerated - needs to be reviewed/completed

  $ret = $r->BINMODE();
obj: $r (Apache::RequestRec)
ret: $ret (scalar)

WRITE

META: Autogenerated - needs to be reviewed/completed

  $ret = $r->WRITE($buffer, $bufsiz, $offset);
obj: $r (Apache::RequestRec)
arg1: $buffer (scalar)
arg2: $bufsiz (scalar)
arg3: $offset (integer)
ret: $ret (integer)

TIEHANDLE

META: Autogenerated - needs to be reviewed/completed

  $ret = TIEHANDLE($stashsv, $sv);
obj: $stashsv (scalar)
arg1: $sv (scalar)
ret: $ret (scalar)

READ

META: Autogenerated - needs to be reviewed/completed

  $ret = $r->READ($buffer, $len, $offset);
obj: $r (Apache::RequestRec)
arg1: $buffer (scalar)
arg2: $len (scalar)
arg3: $offset (integer)
ret: $ret (scalar)

See Also

mod_perl 2.0 documentation.

Copyright

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 1.1.

Authors

The mod_perl development team and numerous contributors.