logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SRU::Server - Respond to SRU requests via CGI::Application

Authors

       •   Brian Cassidy <bricas@cpan.org>

       •   Ed Summers <ehs@pobox.com>

       •   Jakob Voss <voss@gbv.de>

Cgi::Application Methods

setup
       Sets the "run_modes", "mode_param" and the default runmode (explain).

   cgiapp_prerun
       Parses the incoming SRU request and if needed, checks the CQL query.

   cgiapp_postrun
       Sets the content type (text/xml) and serializes the response.

   error_mode
       Stub error runmode.

Description

       This module brings together all of the SRU verbs (explain, scan and searchRetrieve) under a sub-classable
       object based on CGI::Application.

Methods

explain
       This method is used to return an explain response. It is the default method.

   scan
       This method returns a scan response.

   searchRetrieve
       This method returns a searchRetrieve response.

Name

       SRU::Server - Respond to SRU requests via CGI::Application

Synopsis

           package MySRU;

           use base qw( SRU::Server );

           sub explain {
               my $self = shift;

               # $self->request isa SRU::Request::Explain
               # $self->response isa SRU::Response::Explain
           }

           sub scan {
               my $self = shift;

               # $self->request isa SRU::Request::Scan
               # $self->response isa SRU::Response::Scan
               # $self->cql is the root node of a CQL::Parser-parsed query
           }

           sub searchRetrieve {
               my $self = shift;

               # $self->request isa SRU::Request::SearchRetrieve
               # $self->response isa SRU::Response::SearchRetrieve
               # $self->cql is the root node of a CQL::Parser-parsed query
           }

           package main;

           MySRU->new->run;

See Also