Seldo wrote:
Okay, so here's what I need to do:
1. Receive a request to a given URI, X
2. Based on that URI, change certain values with the request
(e.g. change the names or values of variables posted by the user,
modify the "x-www-form-urlencoded" data, whatever...)
3. Translate the URI to a new URI (one of a number of CGI programs)
4. Execute that CGI (such that the CGI runs in an environment with
variables and posted data modified as per step 2 )

I'm running mod_perl 2.0 with Apache 2.0.x, and the documentation of
these sorts of features:

http://perl.apache.org/docs/2.0/api/Apache/RequestUtil.html

...is sort of incomplete. Whoopsie.
We have very few hands, so coding is of a higher priority. Most of the API docs from 1.0 apply to 2.0. Almost all differrences are documented here:
http://perl.apache.org/docs/2.0/user/compat/compat.html
If something is missing, please post patches.

Help with 2.0 docs is very welcome.

My fault for being all
bleeding-edge, right? Here's what I've got so far:

1. Can do. I can write a PerlTransHandler that catches the URI

2. Don't know how to do. The 1.0 documentation mentions the
header_in() method which can apparently set headers in the request
as well as get them. I can't find this method in the 2.0
documentation, does it or an equivalent exist?
http://perl.apache.org/docs/2.0/user/compat/compat.html#C__r_E_gt_header_in_

And is there anything
  similar for the PUT/POST type data?
what do you mean? check the above URL.

  3. Can do. This bit is no problem.

  4. Don't know how to do. How do you tell the server to execute a
  file using CGI protocol? Is this even possible?
You don't need to do anything. Just configure your mod_cgi as usual, and once you've changed $r->filename to point to the location of cgi, Apache will take care of it. (I assume that you want the cgis to be run by mod_cgi, not mod_perl)

The above method, assuming it's possible to do the two things I asked
about, will work fine. If it doesn't work, then I'll be forced to make
my PerlTransHandler re-implement CGI, which isn't *that* hard but
sounds like a fairly stupid idea when the server does it already. But
even in the case, I need to know how to set "environment variables"
for CGI on a per-execution basis.

Any help greatly appreciated, this project is now due in a week and
I'm beginning to feel great big stormclouds of doom closing in :-)
Your task is pretty trivial, so you should be fine.

Seldo.

P.S. I only recently noticed that Stas, who helped me out with my last
question, is listed as the author/maintainer of the 2.0 documentation.
Cool! :-)
Hopefully this will change asap and other people will take over varous documents.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Reply via email to