NAME
OpenPlugin::Request - Retrieve values related to the client request
SYNOPSIS
my $r = shift;
$OP = OpenPlugin->new( request => { apache => $r });
...
my $req_obj = $OP->request->object;
my $uri = $OP->request->uri;
DESCRIPTION
The Request plugin offers an interface to retrieve various pieces of information available regarding the client request.
If you're looking for methods to work with params, cookies, headers, or uploads, so those respective plugins.
This plugin acts as somewhat of a superclass of those plugins, and offers you access to the request object, along with a variety of other methods.
METHODS
object()
Returns the request object.
uri()
Returns the uri for the last request.
BUGS
None known.
TO DO
The interface provided by the Request/Cookie/Httpheader/Param/Upload plugins, is, as you know, meant to abstract the existing CGI and mod_perl interfaces (along with any other drivers that may, at one day, be created). The interface provided here is certainly not complete. What other functionality should we provide here?
Another thing we are doing now is allowing, say, the httpheader plugin to use the CGI driver, and the param plugin the Apache driver. Is this useful? Some things could be made simpler both internally and externally if we eliminate that possibility, and have httpheader/param/cookie/upload all use the same driver.
To allow for more flexibility, I'm looking at adding some functionality to functions provided by these modules. Instead of requiring that you use get_incoming/set_incoming, I'm looking at making an incoming method, which gets or sets based on how many parameters it was passed.
I'm also considering providing a mechanism for retrieving a tied hash. Instead of using the above interface, you would just add or remove items from the tied hash. Very similar to Apache::Table.
It would be neat to have more drivers. How about a POE driver? CGI::Request, CGI::Base, CGI::MiniSvr, and others would also be neat.
SEE ALSO
See the individual driver documentation for settings and parameters specific to that driver.
COPYRIGHT
Copyright (c) 2001-2002 Eric Andreychek. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHORS
Eric Andreychek <eric@openthought.net>