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

# SRU::Response(3pm)

A factory for creating SRU response objects

## NAME

SRU::Response - A factory for creating SRU response objects

## SYNOPSIS

```
    my $request = SRU::Request->newFromURI( $uri );
    my $response = SRU::Response->newFromRequest( $request );
```

## DESCRIPTION

SRU::Response provides a mechanism for creating the appropriate response object based on a request that is passed in. For example, if you pass in a SRU::Request::Scan object you'll get back a SRU::Response::Scan object with some of the particulars filled in.

## METHODS

### newFromRequest()

The factory method which you must pass in a valid request object: SRU::Request::Explain, SRU::Request::Scan or SRU::Request::SearchRetrieve. If you fail to pass in the correct object you will be returned undef,  with an appropriate error stored in `$SRU::Error`.

## INHERITED METHODS

SRU::Resonse also serves as the base class for the three response types, and thus provides some general functionality to the child classes.

### type()

Returns 'searchRetrieve', 'scan' or 'explain' depending on what type of object it is.

### addDiagnostic()

### diagnosticsXML()

### stylesheetXML()

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