TPAC: Protect against requests for non-existent records
authorDan Scott <dan@coffeecode.net>
Sun, 8 Apr 2012 22:13:26 +0000 (18:13 -0400)
committerThomas Berezansky <tsbere@mvlc.org>
Mon, 9 Apr 2012 19:04:47 +0000 (15:04 -0400)
If a record request is received for a record that does not exist (say,
if 100 records have been loaded and someone submits a request for
/eg/opac/record/399), rather than dying with a server error, return
immediately.

Eventually we'll want to provide an explicit "record was not
found error" in the TPAC record details; for now the TPAC just displays
zero bib detail.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm

index 6031eac..a283f41 100644 (file)
@@ -235,6 +235,10 @@ sub get_records_and_facets {
         success_handler => sub {
             my($self, $req) = @_;
             my $data = $req->{response}->[0]->content;
+
+            # Protect against requests for non-existent records
+            return unless $data->{'unapi.bre'};
+
             my $xml = XML::LibXML->new->parse_string($data->{'unapi.bre'})->documentElement;
 
             # Protect against legacy invalid MARCXML that might not have a 901c