Browse Source

Handling case where IIIF manifest generation fails if cantaloupe is down

pull/787/head
dannylamb 4 years ago
parent
commit
22134df96f
  1. 9
      modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php

9
modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php

@ -12,6 +12,7 @@ use Drupal\Core\Config\ImmutableConfig;
use Drupal\Core\File\FileSystem;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\ClientException;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\ServerException;
/**
@ -183,6 +184,7 @@ class IIIFManifest extends StylePluginBase {
$canvas_id = $iiif_base_id . '/canvas/' . $entity->id();
$annotation_id = $iiif_base_id . '/annotation/' . $entity->id();
dsm("BEFORE REQUEST");
// Try to fetch the IIIF metadata for the image.
try {
$info_json = $this->httpClient->get($iiif_url)->getBody();
@ -190,11 +192,7 @@ class IIIFManifest extends StylePluginBase {
$width = $resource['width'];
$height = $resource['height'];
}
catch (ClientException $e) {
}
catch (ServerException $e) {
}
catch (ClientException | ServerException | ConnectException $e) {
// If we couldn't get the info.json from IIIF
// try seeing if we can get it from Drupal.
if (empty($width) || empty($height)) {
@ -215,6 +213,7 @@ class IIIFManifest extends StylePluginBase {
}
}
}
}
$canvases[] = [
// @see https://iiif.io/api/presentation/2.1/#canvas

Loading…
Cancel
Save