[Bio] / FigKernelPackages / ACHserver.pm Repository:
ViewVC logotype

Annotation of /FigKernelPackages/ACHserver.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (view) (download) (as text)

1 : disz 1.1
2 :     package ACHserver;
3 :    
4 : olson 1.4 #
5 :     # This is a SAS Component
6 :     #
7 :    
8 : disz 1.1 use LWP::UserAgent;
9 :     use Data::Dumper;
10 :     use YAML;
11 :    
12 :     use strict;
13 :    
14 :     sub new
15 :     {
16 :     my($class, $server_url) = @_;
17 :    
18 : olson 1.3 $server_url = "http://servers.nmpdr.org/ach/server.cgi" unless $server_url;
19 :    
20 :     #$server_url = "http://bio-macpro-2.mcs.anl.gov/~disz/FIG/ach_server.cgi" unless $server_url;
21 : disz 1.1 #$server_url = "http://bio-macpro-1.mcs.anl.gov/ross-proj/FIG/co_occurs_server.cgi" unless $server_url;
22 :    
23 :     my $self = {
24 :     server_url => $server_url,
25 :     ua => LWP::UserAgent->new(),
26 :     };
27 :     return bless $self, $class;
28 :     }
29 :    
30 :     sub equiv_precise {
31 :     my ($self, @args) = @_;
32 :     return $self->run_query("equiv_precise", @args);
33 :     }
34 :     sub equiv_sequence {
35 :     my ($self, @args) = @_;
36 :     return $self->run_query("equiv_sequence", @args);
37 :     }
38 :    
39 :    
40 :     sub run_query
41 :     {
42 :     my($self, $function, @args ) = @_;
43 :    
44 :     my $arg_string = Dump(@args);
45 :     my $form = [function => $function,
46 :     args => "$arg_string"];
47 :    
48 :     my $res = $self->{ua}->post($self->{server_url}, $form);
49 :     if ($res->is_success)
50 :     {
51 : olson 1.3 my $rc;
52 :     eval {
53 :     $rc = Load($res->content);
54 :     };
55 :     if ($@)
56 :     {
57 :     die "Bad YAML parse $@ on input\n" . $res->content;
58 :     }
59 : disz 1.1 }
60 :     else
61 :     {
62 : olson 1.3 die "error on post " . $res->status_line . " " . $res->content;
63 : disz 1.1 }
64 :     }
65 :    
66 :    
67 :     1;
68 :    
69 :    
70 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3