Organisation and Repository Indentification [ORI] demonstrator

Other example uses of the ORI APIs are the main API and example_get.html

The list/* queries

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://ori.edina.ac.uk/cgi-bin';

# 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/list/${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);