Catmandu-OCLC
view release on metacpan or search on metacpan
lib/Catmandu/OCLC/xID.pm view on Meta::CPAN
use JSON::MaybeXS;
sub query {
my $query = shift;
my $type = shift;
my $method = shift;
die "usage: query(query,type,method)" unless defined $query &&
defined $type &&
defined $method;
my $endpoint;
if ($type eq 'xisbn') {
$endpoint = 'http://xisbn.worldcat.org/webservices/xid/isbn';
}
elsif ($type eq 'xissn') {
$endpoint = 'http://xisbn.worldcat.org/webservices/xid/issn';
}
elsif ($type eq 'xstandardNumber') {
$endpoint = 'http://xisbn.worldcat.org/webservices/xid/oclcnum';
}
else {
$endpoint = 'http://xisbn.worldcat.org/webservices/xid/isbn';
}
my $request = sprintf "%s/%s?method=%s&format=json&fl=*"
, $endpoint
, uri_escape($query)
, $method;
my $response = get($request);
my $json = JSON::MaybeXS->new->utf8(0);
my $perl;
eval {
$perl = $json->decode($response);
};
( run in 0.283 second using v1.01-cache-2.11-cpan-b61123c0432 )