Sha256: fc234f6e09af57fa42ef76ffeb7c929adf68ce561a0fd38bdc33f02fa46adc6e

Contents?: true

Size: 1.14 KB

Versions: 12

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

require 'json'

module Dor
  module Services
    class Client
      # API calls around background job results from dor-services-app
      class BackgroundJobResults < VersionedService
        # Get status/result of a background job
        # @param job_id [String] required string representing a job identifier
        # @raise [NotFoundResponse] when the response is a 404 (object not found)
        # @raise [UnexpectedResponse] on an unsuccessful response from the server
        # @return [String] result of background job
        def show(job_id:)
          resp = connection.get do |req|
            req.url "#{api_version}/background_job_results/#{job_id}"
            req.headers['Accept'] = 'application/json'
          end

          return JSON.parse(resp.body).with_indifferent_access if resp.success?

          raise_exception_based_on_response!(resp)
        end

        private

        def raise_exception_based_on_response!(response)
          raise (response.status == 404 ? NotFoundResponse : UnexpectedResponse),
                ResponseErrorFormatter.format(response: response)
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
dor-services-client-4.0.0 lib/dor/services/client/background_job_results.rb
dor-services-client-3.9.2 lib/dor/services/client/background_job_results.rb
dor-services-client-3.9.1 lib/dor/services/client/background_job_results.rb
dor-services-client-3.9.0 lib/dor/services/client/background_job_results.rb
dor-services-client-3.8.0 lib/dor/services/client/background_job_results.rb
dor-services-client-3.7.0 lib/dor/services/client/background_job_results.rb
dor-services-client-3.6.0 lib/dor/services/client/background_job_results.rb
dor-services-client-3.5.0 lib/dor/services/client/background_job_results.rb
dor-services-client-3.4.0 lib/dor/services/client/background_job_results.rb
dor-services-client-3.3.0 lib/dor/services/client/background_job_results.rb
dor-services-client-3.2.0 lib/dor/services/client/background_job_results.rb
dor-services-client-3.1.1 lib/dor/services/client/background_job_results.rb