Sha256: f6febb8fd6824c0e3d76ee9ebcb36138bafb75c990c5f50c5dcb68dabb3fcdbb

Contents?: true

Size: 1.02 KB

Versions: 5

Compression:

Stored size: 1.02 KB

Contents

module Riiif
  class ImagesController < ::ApplicationController
    before_filter :link_header, only: [:show, :info]
    def show
      image = Image.new(params[:id])
      data = image.render(params.permit(:region, :size, :rotation, :quality, :format))
      send_data data, type: Mime::Type.lookup_by_extension(params[:format]), :disposition => 'inline'
    end

    def info
      image = Image.new(params[:id])
      render json: image.info.merge(server_info)
    end

    def view
      @image = Image.new(params[:id])
    end

    protected

    def link_header
      response.headers["Link"] = '<http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2>;rel="profile"'
    end

    def server_info
      {
        "@context" => "http://library.stanford.edu/iiif/image-api/1.1/context.json",
        "@id" => request.original_url.sub('/info.json', ''), 
        "formats" => Image::OUTPUT_FORMATS,
        "profile" => "http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0"
        
      }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
riiif-0.0.6 app/controllers/riiif/images_controller.rb
riiif-0.0.5 app/controllers/riiif/images_controller.rb
riiif-0.0.4 app/controllers/riiif/images_controller.rb
riiif-0.0.3 app/controllers/riiif/images_controller.rb
riiif-0.0.2 app/controllers/riiif/images_controller.rb