The following module was proposed for inclusion in the Module List:
modid: Apache::Emulator DSLIP: adpOp description: Emulates mod_perl request object from CGI userid: NWETTERS (Nigel Wetters) chapterid: 15 (World_Wide_Web_HTML_HTTP_CGI) communities: similar: Apache rationale: I've put together a module that emulates the Apache request object from CGI. Think of it as the nemesis to Apache::Registry. The reason behind the code was simple. I had a look at Ave Wrigley's WWW::AdManager in the hope of adding the features I needed. I was impressed that he'd got the code to work both as an Apache module and through CGI. He'd managed to do this by having separate entry points for Apache and CGI, and a few 'if ($ENV{MOD_PERL}){...}'. It looked like the code was going to become unmaintainable as functionality was added. So, I stripped the CGI-dependent code from WWW::AdManager, and concentrated on getting the mod_perl-only module working through CGI. The result was Apache::Emulator. I've been lazy and only implemented the easy bits and the bits necessary to get Ave's AdManager working (i.e. there's a few essentials such as header_in, headers_in and headers_out that still don't exist). Initial benchmarks with WWW::AdManager suggest that stripping out CGI-dependent conditionals speeded up the module by 30%, both as an Apache module and as a CGI (through Apache::Emulator). Please let me know your thoughts, and any potential applications that you can foresee. I'd also like to know of any other modules that I can use as test cases for adding functionality to Apache::Emulator. Plus, of course, I'd love it if everyone emailed me the remaining unimplemented methods ;) enteredby: NWETTERS (Nigel Wetters) enteredon: Mon Oct 29 12:36:21 2001 GMT The resulting entry would be: Apache:: ::Emulator adpOp Emulates mod_perl request object from CGI NWETTERS Thanks for registering, The Pause Team PS: The following links are only valid for module list maintainers: Registration form with editing capabilities: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=fe100000_46812be5fb1a4255&SUBMIT_pause99_add_mod_preview=1 Immediate (one click) registration: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=fe100000_46812be5fb1a4255&SUBMIT_pause99_add_mod_insertit=1