File: perl_wddx.pl

package info (click to toggle)
jffnms 0.8.3dfsg.1-2.1etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 4,928 kB
  • ctags: 5,050
  • sloc: php: 19,981; sh: 266; makefile: 91; perl: 52
file content (49 lines) | stat: -rw-r--r-- 1,205 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
use WDDX;

my $wddx = new WDDX;
$ua = new LWP::UserAgent;

#@params = (WDDX::NULL,WDDX::NULL,WDDX::NULL,WDDX::NULL,WDDX::NULL,2);
#@params = (undef,undef,undef,undef,2);
@params = ($wddx->null(),1,1,$wddx->null(),0,2);

print $wddx->serialize($wddx->array2wddx(\@params)),"\n";

my $req = POST 'http://boxen.lan.tiba.com/jffnms-sat4/admin/satellite.php',
               [ 
	        "sat_id" => "1",
	        "capabilities" => "W",
	        "class" => "events", "method" => "list",  
#	        "method" => "ping",
		"params" => $wddx->serialize($wddx->array2wddx(\@params))
	       ];

$response = $ua->request($req);

print $response->as_string,"\n";

my $wddx_request = $wddx->deserialize( $response->content() );

$type = $wddx_request->type;
$data = $wddx->wddx2perl($wddx_request);

#print "type: ", $type, " - ",$data,"\n"; 

if ($type eq "hash") {
    foreach $key (keys %$data) {
	$value = $data->{$key};
	print $key, "=>", $value,"\n";
    }    
}

if ($type eq "array") {
    foreach $element (@{$data}) {
	foreach $key (keys %$element) {
	    print $key, "=>", $value = $element->{$key},"\n";
	}    
	print "-----------------\n";
    }
}