From: miker Date: Tue, 29 Jul 2008 20:42:16 +0000 (+0000) Subject: session passing for make_atomic, at least X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=fa95ac05b88195a90446306ffc164d69b5160cd6;p=opensrf%2Fbjwebb.git session passing for make_atomic, at least git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1381 9efc2488-bf62-4759-914b-345cdb29e865 --- diff --git a/src/perlmods/OpenSRF/AppSession.pm b/src/perlmods/OpenSRF/AppSession.pm index 54d465c..9d3e8b4 100644 --- a/src/perlmods/OpenSRF/AppSession.pm +++ b/src/perlmods/OpenSRF/AppSession.pm @@ -1027,6 +1027,13 @@ sub new { sub responses { @{$_[0]->{resp}} } +sub session { + my $x = shift; + my $s = shift; + $x->{session} = $s if ($s); + return $x->{session}; +} + sub status {} diff --git a/src/perlmods/OpenSRF/Application.pm b/src/perlmods/OpenSRF/Application.pm index 08bd106..dbd86e1 100644 --- a/src/perlmods/OpenSRF/Application.pm +++ b/src/perlmods/OpenSRF/Application.pm @@ -54,6 +54,16 @@ sub api_level { return $self->{api_level}; } +sub session { + my $self = shift; + my $session = shift; + + if($session) { + $self->{session} = $session; + } + return $self->{session}; +} + sub server_class { my $class = shift; if($class) { @@ -530,6 +540,8 @@ sub run { $log->debug("Creating a SubRequest object", DEBUG); unshift @params, $req; $req = OpenSRF::AppSubrequest->new; + $req->session( $self->session ) if ($self->session); + } else { $log->debug("This is a top level request", DEBUG); } @@ -712,7 +724,11 @@ sub make_stream_atomic { my @args = @_; (my $m_name = $self->api_name) =~ s/\.atomic$//o; - my @results = $self->method_lookup($m_name)->run(@args); + my $m = $self->method_lookup($m_name); + + $m->session( $req->session ); + my @results = $m->run(@args); + $m->session(''); return \@results; }