1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
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
xsbuilder/ (analogous to modperl-2.0/xs directory)
apreq_xs_postperl.h - helper functions & macros for XS
maps/ - files used to generate xs/ bindings
Apache/
Request/
Apache__Request.h - custom XS code for Request.xs
Request_pm - perl code included in Request.pm
Cookie/
Apache__Cookie.h - custom XS for Cookie.xs
Cookie_pm - perl code included in Cookie.pm
current class diagram:
apreq_xs_env
// \\
Apache::Cookie->fetch// \\Apache::Request->new
// \\
Apache::Cookie::Jar Apache::Request
cookies / / upload \ args, body, params
Apache::Cookie::Table Apache::Upload::Table Apache::Request::Table
/ get / get
Apache::Cookie Apache::Upload
legend: double lines ("//" or "\\") represent an inheritance relationship.
single lines ("/" or "\") represent method calls.
missing components: Apache::Request::Parser
|