To parse the libapreq headers into xsbuilder/tables:
% perl ../../build/xsbuilder.pl run
To build the xs/ directory and configure the tests:
% perl Makefile.PL -apxs /path/to/apache2/bin/apxs
To run the test suite:
% make test
DEVELOPER NOTES
APR::Request::* should be a simple translation of the apreq C API:
apreq_handle_t -> APR::Request-derived instance.
apreq_module_t -> APR::Request-derived class.
apreq_param_t -> APR::Request::Param
apreq_cookie_t -> APR::Request::Cookie
apreq_parser_t -> APR::Request::Parser (todo)
apreq_hook_t -> APR::Request::Hook (todo)
--------------------------------------------------
Current APR:: module breakdown
--------------------------------------------------
APR::Request
subs:
encode
decode
methods:
parse
read_limit
brigade_limit
temp_dir
header_in
header_out
jar_status
args_status
body_status
param_status
disable_uploads
missing:
add_hook (requires APR::Request::Hook)
parser (requires APR::Request::Parser)
==================================================
APR::Request::CGI @ISA=(APR::Request)
method:
param
ctor:
new
==================================================
APR::Request::Apache2 @ISA=(APR::Request)
method:
param
ctor:
new
==================================================
APR::Request::Error @ISA=(APR::Error, APR::Request)
subs:
strerror
==================================================
APR::Request::Cookie
provides:
APR::Request::jar()
APR::Request::Cookie::Table
methods:
get, FETCH
FIRSTKEY, NEXTKEY
cookie_class
missing:
rest of const apr_table_t * API (do, etc)
methods:
name
value
secure
version
is_tainted
as_string
bake
bake2
expires
path
domain
port
comment
commentURL
freeze
thaw
bind_handle
ctor:
new
==================================================
APR::Request::Param
provides:
APR::Request::args()
APR::Request::body()
APR::Request::param()
APR::Request::params()
APR::Request::Param::Table
methods:
get, FETCH
FIRSTKEY, NEXTKEY
param_class
uploads
do
missing:
rest of const apr_table_t * API
APR::Request::Brigade
methods:
TIEHANDLE, new
READ
READLINE
APR::Request::Brigade::IO
read
readline
methods:
name
value
info
upload
upload_link
upload_slurp
upload_size
upload_type
upload_tempname
upload_io
upload_fh
--------------------------------------------------
Current (pure-perl) Apache2:: module breakdown
--------------------------------------------------
Apache2::Request @ISA=(Apache2::RequestRec, APR::Request::Apache2)
ctor:
new
methods:
instance (deprecated, ok to remove this)
disable_uploads
missing:
hook_data
upload_hook
2.04-deltas:
env() removed
params() method inherited from APR::Request; not deprecated anymore.
parms() removed
status() removed.
args() needs to become Apache2::RequestRec::args!!!
The args() change probably deserves a runtime warning in 2.05-dev.
==================================================
Apache2::Cookie @ISA=(APR::Request::Cookie)
provides:
Apache2::Cookie::Jar @ISA=(APR::Request::Apache2)
methods:
cookies
status
subs:
encode
decode
methods:
new
fetch
set_attr
freeze
thaw
value
2.04-deltas:
env() removed
==================================================
Apache2::Upload @ISA=(APR::Request::Param)
provides:
Apache2::Request::upload
methods:
slurp
type
size
link
tempname
fh
io
filename
bb (need to deprecate this)
2.04-deltas:
Apache::Upload::Brigade is now APR::Request::Brigade.