The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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;

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.

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.

AUTHORS

  • Brian Cassidy <bricas@cpan.org>

  • Ed Summers <ehs@pobox.com>

  • Jakob Voss <voss@gbv.de>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Ed Summers.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.