Hi, I'm trying to figure out how to preserve the request
body across an OpenID login redirect cycle.

This handler is running as a PerlHeaderParserHandler.

Say the application's session times out, but the user posts
something by clicking submit.

They are redirected to the OpenID server but it says they
are still logged in and returns a positive response.

The user's experience should be seamless, it should go back
to the uri they requested first and post whatever they
posted.

Before they redirect to the OpenID server, I can grab their
post params or even $r->read() the raw request body and save
that in their session.  (Potential session problems with
file uploads, I know.)

It's clear how to restore the original GET args when they
come back, $r->args($saved_args).

But when they come back from the OpenID server, how do I put
the saved request body or post params into the new request?

If I can't do this for the raw request body (i.e. a
non-param xml PUT request?) and can only do it by saving
POST params, do I have to create a new
APR::Request::Param::Table object? (with the current
request's pool?)  If so how do I put it into the current
request for further handlers to access?

Is this possible somehow?

Thanks.

Mark

Reply via email to