---
name: "Catalyst::Controller::SRU"
section: "3pm"
platform: "linux"
package: "libsru-perl"
version: "1.01-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catalyst::Controller::SRU"
---

# Catalyst::Controller::SRU(3pm)

Dispatch SRU methods with Catalyst

## NAME

Catalyst::Controller::SRU - Dispatch SRU methods with Catalyst

## SYNOPSIS

```
    package MyApp::Controller::SRU;
    # use it as a base controller
    use base qw( Catalyst::Controller::SRU );

    # explain, scan and searchretrieve methods
    sub explain {
        my ( $self, $c,
            $sru_request,  # ISA SRU::Request::Explain
            $sru_response, # ISA SRU::Response::Explain
        ) = @_;
    }

    sub scan {
        my ( $self, $c,
            $sru_request,  # ISA SRU::Request::Scan
            $sru_response, # ISA SRU::Response::Scan
            $cql,          # ISA CQL::Parser root node
        ) = @_;
    }

    sub searchRetrieve {
        my ( $self, $c,
            $sru_request,  # ISA SRU::Request::SearchRetrieve
            $sru_response, # ISA SRU::Response::SearchRetrieve
            $cql,          # ISA CQL::Parser root node
        ) = @_;
    }
```

## DESCRIPTION

This module allows your controller class to dispatch SRU actions (`"explain"`, `"scan"`, and `"searchRetrieve"`) from its own class.

## METHODS

### index : Private

This method will create an SRU request, response and possibly a CQL object based on the type of SRU request it finds. It will then pass the data over to your customized method.

## SEE ALSO

- •

  Catalyst

- •

  SRU

## AUTHORS

Brian Cassidy \<bricas@cpan.org\>

## 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.
