Overview

Referring to the following, I tried adding values to the info.json returned by Cantaloupe.

https://cantaloupe-project.github.io/manual/5.0/endpoints.html

Method

Referring to the page above, I modified extra_iiif3_information_response_keys as follows.

def extra_iiif3_information_response_keys(options = {})
    {
      'rights' => 'http://example.org/license.html',
      'service' => [
        {
          '@id': 'https://example.org/auth/login',
          '@type': 'AuthCookieService1',
          'profile': 'http://iiif.io/api/auth/1/login',
          'label': 'Log In'
        }
      ],
      'exif' => context.dig('metadata', 'exif'),
      'iptc' => context.dig('metadata', 'iptc'),
      'xmp'  => context.dig('metadata', 'xmp_string')
    }
  end

As a result, I was able to obtain the following info.json.

{
"@context": "http://iiif.io/api/image/3/context.json",
"id": "https://cantaloupe.aws.ldas.jp/iiif/3/converted.tif",
...
"rights": "http://example.org/license.html",
"service": [
  {
    "@id": "https://example.org/auth/login",
    "@type": "AuthCookieService1",
    "profile": "http://iiif.io/api/auth/1/login",
    "label": "Log In"
  }
],
"exif": {
  "tagSet": "Baseline TIFF",
  "fields": {
    "ImageWidth": 13300,
    "ImageLength": 10400,
    "BitsPerSample": 8,
    "Compression": 7,
    "PhotometricInterpretation": 6,
    ...

This can likely be used in combination with license display and the IIIF Auth API.

For more about the IIIF Auth API, please also refer to the following article.

Summary

I tried out part of the Endpoints section of the Cantaloupe manual.

I hope this serves as a helpful reference for others.