Other example uses of the ORI APIs are the main API and example_get.html
These examples show what the various list calls return.
Repositories are catalogued by type: this call lists each repository under its appropriate type: that's several thousand repositories being returned - it's a big data-structure!
The code for the local script that makes the remote call is:
#!/usr/bin/perl
use strict;
use LWP::Simple qw(get);
my $host = 'http://devel.edina.ac.uk:1201/cgi';
# we need the send an initial content-type
print "Content-type: text/html\n\n";
my $p = $ENV{PATH_INFO};
$p =~ s#^/##; # using '#' as delimiter
my @q = split /\&/, $ENV{QUERY_STRING};
my %q;
foreach my $i (@q) {
my ( $a, $b ) = split /=/, $i;
$q{$a} = $b;
}
my ($url, @params);
$url = "$host/list5/${p}";
if (scalar %q ) {
foreach my $a (keys %q) {
push @params, $a."=".$q{$a};
}
}
unless (scalar %q && exists $q{format}) {
push @params, "format=json"
}
$url .= '?';
$url .= join '&', @params;
print get($url);