class Mindee::Parsing::Common::ApiResponse

Wrapper class for all predictions (synchronous and asynchronous)

def initialize(product_class, http_response, raw_http)

Parameters:
  • raw_http (Hash) --
  • http_response (Hash) --
  • product_class (Mindee::Inference) --
def initialize(product_class, http_response, raw_http)
  logger.debug('Handling API response')
  @raw_http = raw_http.to_s
  raise Errors::MindeeAPIError, 'Invalid response format.' unless http_response.key?('api_request')
  @api_request = Mindee::Parsing::Common::ApiRequest.new(http_response['api_request'])
  if http_response.key?('document') &&
     (!http_response.key?('job') ||
       http_response['job']['status'] == 'completed') &&
     @api_request.status == RequestStatus::SUCCESS
    @document = Mindee::Parsing::Common::Document.new(product_class, http_response['document'])
  end
  @job = Mindee::Parsing::Common::Job.new(http_response['job']) if http_response.key?('job')
end