Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

http::oai::repository(3pm) [debian man page]

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)

Check Out this Related Man Page

HTTP::Server::Simple::Authen(3pm)			User Contributed Perl Documentation			 HTTP::Server::Simple::Authen(3pm)

NAME
HTTP::Server::Simple::Authen - Authentication plugin for HTTP::Server::Simple SYNOPSIS
package MyServer; use base qw( HTTP::Server::Simple::Authen HTTP::Server::Simple::CGI); use Authen::Simple::Passwd; sub authen_handler { Authen::Simple::Passwd->new(passwd => '/etc/passwd'); } sub handle_request { my($self, $cgi) = @_; my $user = $self->authenticate or return; ... } MyServer->new->run(); DESCRIPTION
HTTP::Server::Simple::Authen is an HTTP::Server::Simple plugin to allow HTTP authentication. Authentication scheme is pluggable and you can use whatever Authentication protocol that Authen::Simple supports. You can use "authenticate" method whatever you want to authenticate the request. The method returns $username taken from the request if the authentication is successful, and "undef" otherwise. The code in "SYNOPSIS" requires authentication for all the requests and behaves just the same as Apache's "Require valid-user". The following code will explain more about conditioning. sub handle_request { my($self, $cgi) = @_; if ($cgi->path_info =~ m!/foo/!) { my $user = $self->authenticate; return unless defined($user) && length($user) == 8; } ... } This means all the requests to URL "/foo/" require to be authenticated, and usernames with 8 chars long are authorized. METHODS
Your subclass has to override following methods to implement HTTP authentication. authen_handler Should return a valid Authen::Simple instance to authenticate HTTP request (Required). authen_realm Returns a string for Authentication realm to be shown in the browser's dialog box. Defaults to 'Authorized area'. AUTHOR
Tatsuhiko Miyagawa <miyagawa@bulknews.net> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
HTTP::Server::Simple, Authen::Simple perl v5.12.3 2006-01-15 HTTP::Server::Simple::Authen(3pm)
Man Page