slimmed down the generic requestor
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 28 Jun 2006 22:17:12 +0000 (22:17 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 28 Jun 2006 22:17:12 +0000 (22:17 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@4826 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm

index 351228d..498fd90 100644 (file)
@@ -178,42 +178,24 @@ sub simple_scalar_request {
 
        $session = OpenSRF::AppSession->create( $service ) unless $session;
 
-       $logger->debug("simple request for service $service using session " .$session->app);
-
        my $request = $session->request( $method, @params );
-       my $response = $request->recv(60);
-
-#      $request->wait_complete;
-
-#      if(!$request->complete) {
-#              warn "request did not complete : service=$service : method=$method\n";
-#              throw OpenSRF::EX::ERROR 
-#                      ("Call to $service for method $method with params ". Dumper(\@params) . 
-#                              "\n did not complete successfully");
-#      }
-
 
-       if(!$response) {
-               warn "No response from $service for method $method with params " . Dumper(\@params);
-               $logger->error("No response from $service for method $method with params " . Dumper(\@params));
-               return undef;
-       }
-
-       if(UNIVERSAL::isa($response,"Error")) {
-               warn "received error : service=$service : method=$method : params=".Dumper(\@params) . "\n $response";
-               throw $response ("Call to $service for method $method with params @params" . 
-                               "\n failed with exception: $response : " . Dumper(\@params) );
-       }
+       my $val;
+       my $err;
+       try  {
 
+               $val = $request->gather(1);     
 
-       $request->finish();
+       } catch Error with {
+               $err = shift;
+       };
 
-       if($service ne 'open-ils.storage' or !get_storage_session() ) {
-               $session->finish();
-               $session->disconnect();
+       if( $err ) {
+               warn "received error : service=$service : method=$method : params=".Dumper(\@params) . "\n $err";
+               throw $err ("Call to $service for method $method \n failed with exception: $err : " );
        }
 
-       return $response->content;
+       return $val;
 }