FireflySEO HTTP Viewer is an HTTP Header analyzer. It parses URI request header responses into an easy to read HTML format. It handles special characters and allows the user to spoof user agents.
HTTP::OAI::Repository(3pm) User Contributed Perl Documentation HTTP::OAI::Repository(3pm)NAME
HTTP::OAI::Repository - Documentation for building an OAI compliant repository using OAI-PERL
DESCRIPTION
Using the OAI-PERL library in a repository context requires the user to build the OAI responses to be sent to OAI harvesters.
SYNOPSIS 1
use HTTP::OAI::Harvester;
use HTTP::OAI::Metadata::OAI_DC;
use XML::SAX::Writer;
use XML::LibXML;
# (all of these options _must_ be supplied to comply with the OAI protocol)
# (protocolVersion and responseDate both have sensible defaults)
my $r = new HTTP::OAI::Identify(
baseURL=>'http://yourhost/cgi/oai',
adminEmail=>'youremail@yourhost',
repositoryName=>'agoodname',
requestURL=>self_url()
);
# Include a description (an XML::LibXML Dom object)
$r->description(new HTTP::OAI::Metadata(dom=>$dom));
my $r = HTTP::OAI::Record->new(
header=>HTTP::OAI::Header->new(
identifier=>'oai:myrepo:10',
datestamp=>'2004-10-01'
),
metadata=>HTTP::OAI::Metadata::OAI_DC->new(
dc=>{title=>['Hello, World!'],description=>['My Record']}
)
);
$r->about(HTTP::OAI::Metadata->new(dom=>$dom));
my $writer = XML::SAX::Writer->new();
$r->set_handler($writer);
$r->generate;
Building an OAI compliant repository
The validation scripts included in this module provide the repository admin with a number of tools for helping with being OAI compliant,
however they can not be exhaustive in themselves.
METHODS
$r = HTTP::OAI::Repository::validate_request(%paramlist)
$r = HTTP::OAI::Repository::validate_request_2_0(%paramlist)
These functions, exported by the Repository module, validate an OAI request against the protocol requirements. Returns an
HTTP::Response object, with the code set to 200 if the request is well-formed, or an error code and the message set.
e.g:
my $r = validate_request(%paramlist);
print header(-status=>$r->code.' '.$r->message),
$r->error_as_HTML;
Note that validate_request attempts to be as strict to the Protocol as possible.
$b = HTTP::OAI::Repository::validate_date($date)
$b = HTTP::OAI::Repository::validate_metadataPrefix($mdp)
$b = HTTP::OAI::Repository::validate_responseDate($date)
$b = HTTP::OAI::Repository::validate_setSpec($set)
These functions, exported by the Repository module, validate the given type of OAI data. Returns true if the given value is sane, false
otherwise.
EXAMPLE
See the bin/gateway.pl for an example implementation (it's actually for creating a static repository gateway, but you get the idea!).
perl v5.12.4 2010-09-01 HTTP::OAI::Repository(3pm)