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   738071 use strict;
  11         92  
  11         523  
4              
5             our $VERSION = '4.11';
6              
7 11     11   62 use constant OAI_NS => 'http://www.openarchives.org/OAI/2.0/';
  11         19  
  11         1111  
8              
9             # perlcore
10 11     11   73 use Carp;
  11         20  
  11         615  
11 11     11   5466 use Encode;
  11         152235  
  11         847  
12              
13             # http related stuff
14 11     11   6000 use URI;
  11         67541  
  11         351  
15 11     11   5938 use HTTP::Headers;
  11         43584  
  11         400  
16 11     11   5523 use HTTP::Request;
  11         77533  
  11         335  
17 11     11   5642 use HTTP::Response;
  11         75580  
  11         624  
18             require LWP::UserAgent;
19             require LWP::MemberMixin;
20              
21             # xml related stuff
22 11     11   5497 use XML::SAX;
  11         52210  
  11         537  
23 11     11   94 use XML::SAX::ParserFactory;
  11         27  
  11         353  
24 11     11   6635 use XML::LibXML;
  11         405806  
  11         65  
25 11     11   6986 use XML::LibXML::SAX;
  11         238048  
  11         411  
26 11     11   5429 use XML::LibXML::SAX::Parser;
  11         68142  
  11         384  
27 11     11   5665 use XML::LibXML::SAX::Builder;
  11         53916  
  11         399  
28              
29 11     11   5802 use HTTP::OAI::SAX::Driver;
  11         30  
  11         350  
30 11     11   4684 use HTTP::OAI::SAX::Text;
  11         28  
  11         349  
31              
32             # debug
33 11     11   4888 use HTTP::OAI::Debug;
  11         29  
  11         66  
34 11     11   6277 use HTTP::OAI::SAX::Trace;
  11         30  
  11         377  
35              
36             # generic superclasses
37 11     11   4404 use HTTP::OAI::SAX::Base;
  11         26  
  11         329  
38 11     11   5970 use HTTP::OAI::MemberMixin;
  11         23  
  11         360  
39 11     11   4291 use HTTP::OAI::Verb;
  11         78  
  11         377  
40 11     11   4769 use HTTP::OAI::PartialList;
  11         29  
  11         389  
41              
42             # utility classes
43 11     11   4833 use HTTP::OAI::Response;
  11         29  
  11         480  
44              
45             # oai data objects
46 11     11   4860 use HTTP::OAI::Metadata; # Super class of all data objects
  11         29  
  11         368  
47 11     11   4553 use HTTP::OAI::Error;
  11         26  
  11         600  
48 11     11   4527 use HTTP::OAI::Header;
  11         26  
  11         461  
49 11     11   4707 use HTTP::OAI::MetadataFormat;
  11         28  
  11         351  
50 11     11   4742 use HTTP::OAI::Record;
  11         25  
  11         777  
51 11     11   4650 use HTTP::OAI::ResumptionToken;
  11         28  
  11         326  
52 11     11   4454 use HTTP::OAI::Set;
  11         23  
  11         353  
53              
54             # oai verbs
55 11     11   4474 use HTTP::OAI::GetRecord;
  11         27  
  11         403  
56 11     11   4499 use HTTP::OAI::Identify;
  11         31  
  11         426  
57 11     11   4945 use HTTP::OAI::ListIdentifiers;
  11         27  
  11         411  
58 11     11   4531 use HTTP::OAI::ListMetadataFormats;
  11         25  
  11         390  
59 11     11   67 use HTTP::OAI::ListRecords;
  11         21  
  11         230  
60 11     11   4585 use HTTP::OAI::ListSets;
  11         27  
  11         449  
61              
62             # oai agents
63 11     11   4759 use HTTP::OAI::UserAgent;
  11         41  
  11         488  
64 11     11   5777 use HTTP::OAI::Harvester;
  11         31  
  11         338  
65 11     11   4633 use HTTP::OAI::Repository;
  11         30  
  11         1577  
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__