|Problems? Is your data what you think it is?|
Embedding "user" CGI output into a mod_perl responseby bmcatt (Friar)
|on May 09, 2006 at 22:08 UTC||Need Help??|
bmcatt has asked for the wisdom of the Perl Monks concerning the following question:
My fellow monks,
My instincts say that I should be able to do what I want, but I'm new enough to mod_perl that I don't see how to do it.
Basic issue: I'm upgrading a website that uses a bunch of external (vendor-ish) CGI scripts (cvsweb.cgi being one example). There are two primary goals for this upgrade:
Simply putting all of these external CGIs under mod_perl isn't sufficient because I then lose the consistent header/footer as well as the ability to (outside of .htaccess) control access to these pages.
My gut says that I should be able to have all of the requests that would (normally) go to a CGI pointed through a portal-ish mod_perl routine. This portal would, in theory at least, take care of the access controls / restrictions as well as then "proxying" for the underlying CGI scripts.
Following this train of thought, I should (somehow) be able to construct the proper internal (to Apache) CGI call, including knitting the authentication info to show that I've got an authenticated user, and then intercept the results of the CGI and insert that into my pre-fabricated display structure.
My problem is... Given that I can grab any arbitrary URL (Yes, I have complete control over this server), how can I inject myself into the CGI process so that I, and not Apache, own the call to the CGI?
Any / all thoughts and suggestions from anyone who's done anything remotely like this (or knows enough mod_perl to point me in the right direction) would be greatly appreciated.