1 package OpenILS::Application::Proxy;
2 use strict; use warnings;
3 use base qw/OpenSRF::Application/;
4 use OpenSRF::EX qw(:try);
7 __PACKAGE__->register_method(
9 api_name => "open-ils.proxy.proxy",
15 my($self, $client, $user_session,
16 $server, $method, @params) = @_;
18 warn "$user_session - $server - $method\n";
20 throw OpenSRF::EX::ERROR ("Not enough args to proxy")
21 unless ($user_session and $server and $method);
24 my $session = OpenSRF::AppSession->create($server);
25 my $request = $session->request( $method, @params );
27 throw OpenSRF::EX::ERROR
28 ("No request built on call to session->request( $method, @params )");
31 $request->wait_complete;
33 if( $request->failed() ) {
35 throw OpenSRF::EX::ERROR
36 ($request->failed()->stringify());
40 while( my $response = $request->recv ) {
41 $client->respond( $response->content );
47 $session->disconnect();