more minor progress

This commit is contained in:
Patrick Donelan 2009-10-09 22:37:18 +11:00
parent da75a8b207
commit d8e6256da8
3 changed files with 19 additions and 4 deletions

View file

@ -463,11 +463,16 @@ sub open {
my $config = WebGUI::Config->new($webguiRoot,$configFile);
my $self = {_config=>$config, _server=>$server};
bless $self , $class;
# This does our Plack TODO logging
# $self->{_request} = $request if (defined $request);
use WebGUI::Session::Request;
$self->{_request} = WebGUI::Session::Request->new( r => $request, session => $self ) if $request;
if ($request && $request->isa('WebGUI::Session::Plack')) {
# Use our WebGUI::Session::Plack object that is supposed to do everything Apache2::* can
$self->{_request} = $request;
} else {
# Use WebGUI::Session::Request to wrap Apache2::* calls
require WebGUI::Session::Request;
$self->{_request} = WebGUI::Session::Request->new( r => $request, session => $self );
}
my $sessionId = shift || $self->http->getCookies->{$config->getCookieName} || $self->id->generate;
$sessionId = $self->id->generate unless $self->id->valid($sessionId);

View file

@ -92,6 +92,10 @@ Retrieves the cookies from the HTTP header and returns a hash reference containi
sub getCookies {
my $self = shift;
if ($self->session->request) {
if ($self->session->request->isa('WebGUI::Session::Plack')) {
return $self->session->request->request->cookies;
}
# Have to require this instead of using it otherwise it causes problems for command-line scripts on some platforms (namely Windows)
require APR::Request::Apache2;
my $jarHashRef = APR::Request::Apache2->handle($self->session->request)->jar();

View file

@ -48,6 +48,12 @@ sub AUTOLOAD {
sub uri { shift->request->request_uri(@_) }
sub headers_in { shift->request->headers(@_) }
sub param { shift->request->param(@_) }
sub params { shift->request->params(@_) }
# TODO: I suppose this should do some sort of IO::Handle thing
my @body;
sub print { shift; push @body, @_ }
sub pnotes {
my ($self, $key) = (shift, shift);