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   635893 use strict;
  11         80  
  11         474  
4              
5             our $VERSION = '4.12';
6              
7 11     11   63 use constant OAI_NS => 'http://www.openarchives.org/OAI/2.0/';
  11         18  
  11         1001  
8              
9             # perlcore
10 11     11   61 use Carp;
  11         22  
  11         604  
11 11     11   4868 use Encode;
  11         133959  
  11         860  
12              
13             # http related stuff
14 11     11   5086 use URI;
  11         60899  
  11         343  
15 11     11   5396 use HTTP::Headers;
  11         39416  
  11         374  
16 11     11   4644 use HTTP::Request;
  11         72409  
  11         316  
17 11     11   5028 use HTTP::Response;
  11         67148  
  11         615  
18             require LWP::UserAgent;
19             require LWP::MemberMixin;
20              
21             # xml related stuff
22 11     11   4678 use XML::SAX;
  11         45206  
  11         480  
23 11     11   78 use XML::SAX::ParserFactory;
  11         18  
  11         261  
24 11     11   5785 use XML::LibXML;
  11         300247  
  11         55  
25 11     11   6025 use XML::LibXML::SAX;
  11         212976  
  11         362  
26 11     11   4697 use XML::LibXML::SAX::Parser;
  11         60093  
  11         339  
27 11     11   4667 use XML::LibXML::SAX::Builder;
  11         48719  
  11         344  
28              
29 11     11   5011 use HTTP::OAI::SAX::Driver;
  11         25  
  11         310  
30 11     11   3998 use HTTP::OAI::SAX::Text;
  11         25  
  11         309  
31              
32             # debug
33 11     11   4211 use HTTP::OAI::Debug;
  11         23  
  11         57  
34 11     11   5450 use HTTP::OAI::SAX::Trace;
  11         20  
  11         362  
35              
36             # generic superclasses
37 11     11   3818 use HTTP::OAI::SAX::Base;
  11         34  
  11         290  
38 11     11   5283 use HTTP::OAI::MemberMixin;
  11         22  
  11         342  
39 11     11   3732 use HTTP::OAI::Verb;
  11         76  
  11         323  
40 11     11   3859 use HTTP::OAI::PartialList;
  11         24  
  11         351  
41              
42             # utility classes
43 11     11   4141 use HTTP::OAI::Response;
  11         28  
  11         430  
44              
45             # oai data objects
46 11     11   4194 use HTTP::OAI::Metadata; # Super class of all data objects
  11         25  
  11         327  
47 11     11   4023 use HTTP::OAI::Error;
  11         22  
  11         525  
48 11     11   3960 use HTTP::OAI::Header;
  11         26  
  11         368  
49 11     11   4210 use HTTP::OAI::MetadataFormat;
  11         23  
  11         312  
50 11     11   4001 use HTTP::OAI::Record;
  11         23  
  11         372  
51 11     11   3996 use HTTP::OAI::ResumptionToken;
  11         26  
  11         285  
52 11     11   3834 use HTTP::OAI::Set;
  11         22  
  11         313  
53              
54             # oai verbs
55 11     11   3948 use HTTP::OAI::GetRecord;
  11         20  
  11         354  
56 11     11   4000 use HTTP::OAI::Identify;
  11         30  
  11         381  
57 11     11   4522 use HTTP::OAI::ListIdentifiers;
  11         29  
  11         395  
58 11     11   3923 use HTTP::OAI::ListMetadataFormats;
  11         21  
  11         345  
59 11     11   66 use HTTP::OAI::ListRecords;
  11         23  
  11         218  
60 11     11   3914 use HTTP::OAI::ListSets;
  11         23  
  11         384  
61              
62             # oai agents
63 11     11   3953 use HTTP::OAI::UserAgent;
  11         27  
  11         434  
64 11     11   5043 use HTTP::OAI::Harvester;
  11         27  
  11         292  
65 11     11   3963 use HTTP::OAI::Repository;
  11         27  
  11         1402  
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__