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