File Coverage

blib/lib/HTTP/OAI.pm
Criterion Covered Total %
statement 117 117 100.0
branch n/a
condition n/a
subroutine 39 39 100.0
pod n/a
total 156 156 100.0


line stmt bran cond sub pod time code
1             package HTTP::OAI;
2              
3 11     11   766303 use strict;
  11         107  
  11         514  
4              
5             our $VERSION = '4.13';
6              
7 11     11   63 use constant OAI_NS => 'http://www.openarchives.org/OAI/2.0/';
  11         20  
  11         1186  
8              
9             # perlcore
10 11     11   71 use Carp;
  11         29  
  11         655  
11 11     11   5482 use Encode;
  11         157916  
  11         926  
12              
13             # http related stuff
14 11     11   6520 use URI;
  11         71193  
  11         393  
15 11     11   6093 use HTTP::Headers;
  11         74217  
  11         389  
16 11     11   5019 use HTTP::Request;
  11         89480  
  11         324  
17 11     11   5416 use HTTP::Response;
  11         81555  
  11         618  
18             require LWP::UserAgent;
19             require LWP::MemberMixin;
20              
21             # xml related stuff
22 11     11   5144 use XML::SAX;
  11         53014  
  11         504  
23 11     11   93 use XML::SAX::ParserFactory;
  11         23  
  11         263  
24 11     11   6721 use XML::LibXML;
  11         348334  
  11         59  
25 11     11   6453 use XML::LibXML::SAX;
  11         251312  
  11         446  
26 11     11   5710 use XML::LibXML::SAX::Parser;
  11         70301  
  11         367  
27 11     11   5348 use XML::LibXML::SAX::Builder;
  11         56836  
  11         489  
28              
29 11     11   5671 use HTTP::OAI::SAX::Driver;
  11         37  
  11         333  
30 11     11   4622 use HTTP::OAI::SAX::Text;
  11         31  
  11         355  
31              
32             # debug
33 11     11   4989 use HTTP::OAI::Debug;
  11         42  
  11         70  
34 11     11   6265 use HTTP::OAI::SAX::Trace;
  11         32  
  11         437  
35              
36             # generic superclasses
37 11     11   4610 use HTTP::OAI::SAX::Base;
  11         26  
  11         340  
38 11     11   6199 use HTTP::OAI::MemberMixin;
  11         38  
  11         371  
39 11     11   4586 use HTTP::OAI::Verb;
  11         31  
  11         390  
40 11     11   4427 use HTTP::OAI::PartialList;
  11         28  
  11         397  
41              
42             # utility classes
43 11     11   4819 use HTTP::OAI::Response;
  11         31  
  11         499  
44              
45             # oai data objects
46 11     11   5006 use HTTP::OAI::Metadata; # Super class of all data objects
  11         33  
  11         384  
47 11     11   4471 use HTTP::OAI::Error;
  11         30  
  11         1750  
48 11     11   4678 use HTTP::OAI::Header;
  11         26  
  11         377  
49 11     11   4583 use HTTP::OAI::MetadataFormat;
  11         27  
  11         360  
50 11     11   4658 use HTTP::OAI::Record;
  11         24  
  11         405  
51 11     11   4673 use HTTP::OAI::ResumptionToken;
  11         28  
  11         416  
52 11     11   4500 use HTTP::OAI::Set;
  11         25  
  11         351  
53              
54             # oai verbs
55 11     11   4573 use HTTP::OAI::GetRecord;
  11         25  
  11         407  
56 11     11   4490 use HTTP::OAI::Identify;
  11         25  
  11         411  
57 11     11   4753 use HTTP::OAI::ListIdentifiers;
  11         31  
  11         425  
58 11     11   4640 use HTTP::OAI::ListMetadataFormats;
  11         29  
  11         380  
59 11     11   74 use HTTP::OAI::ListRecords;
  11         21  
  11         249  
60 11     11   4550 use HTTP::OAI::ListSets;
  11         26  
  11         395  
61              
62             # oai agents
63 11     11   4684 use HTTP::OAI::UserAgent;
  11         30  
  11         421  
64 11     11   5311 use HTTP::OAI::Harvester;
  11         47  
  11         330  
65 11     11   4602 use HTTP::OAI::Repository;
  11         50  
  11         1720  
66              
67             $HTTP::OAI::Harvester::VERSION = $VERSION;
68              
69             if( $ENV{HTTP_OAI_TRACE} )
70             {
71             HTTP::OAI::Debug::level( '+trace' );
72             }
73             if( $ENV{HTTP_OAI_SAX_TRACE} )
74             {
75             HTTP::OAI::Debug::level( '+sax' );
76             }
77              
78             our %VERSIONS = (
79             'http://www.openarchives.org/oai/1.0/oai_getrecord' => '1.0',
80             'http://www.openarchives.org/oai/1.0/oai_identify' => '1.0',
81             'http://www.openarchives.org/oai/1.0/oai_listidentifiers' => '1.0',
82             'http://www.openarchives.org/oai/1.0/oai_listmetadataformats' => '1.0',
83             'http://www.openarchives.org/oai/1.0/oai_listrecords' => '1.0',
84             'http://www.openarchives.org/oai/1.0/oai_listsets' => '1.0',
85             'http://www.openarchives.org/oai/1.1/oai_getrecord' => '1.1',
86             'http://www.openarchives.org/oai/1.1/oai_identify' => '1.1',
87             'http://www.openarchives.org/oai/1.1/oai_listidentifiers' => '1.1',
88             'http://www.openarchives.org/oai/1.1/oai_listmetadataformats' => '1.1',
89             'http://www.openarchives.org/oai/1.1/oai_listrecords' => '1.1',
90             'http://www.openarchives.org/oai/1.1/oai_listsets' => '1.1',
91             'http://www.openarchives.org/oai/2.0/' => '2.0',
92             'http://www.openarchives.org/oai/2.0/static-repository' => '2.0s',
93             );
94              
95             1;
96              
97             __END__