Parent Directory
|
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 |