Sha256: a23d5d5e6349880c9941ec85a76af12911105189f81604e99c41c5989b64a2a1
Contents?: true
Size: 1.28 KB
Versions: 4
Compression:
Stored size: 1.28 KB
Contents
module Riiif class ImagesController < ::ApplicationController before_filter :link_header, only: [:show, :info] def show begin image = Image.new(params[:id]) status = :ok rescue ImageNotFoundError if Riiif.not_found_image.present? image = Riiif::Image.new(params[:id], Riiif::File.new(Riiif.not_found_image)) status = :not_found else raise end end data = image.render(params.permit(:region, :size, :rotation, :quality, :format)) send_data data, status: status, 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 LEVEL2 = 'http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2' def link_header response.headers["Link"] = "<#{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" => "#{LEVEL2}" } end end end
Version data entries
4 entries across 4 versions & 1 rubygems