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

Reply via email to