Class: DynamicPDFApi::PdfInfo

Inherits:
Endpoint
  • Object
show all
Defined in:
lib/ruby_client/PdfInfo.rb

Overview

Represents the pdf info endpoint.

Instance Attribute Summary

Attributes inherited from Endpoint

#_endpoint_name, #api_key, #base_url

Instance Method Summary collapse

Methods inherited from Endpoint

#init

Constructor Details

#initialize(resource) ⇒ PdfInfo

Initializes a new instance of the PdfInfo class.

Parameters:

  • resource (PdfResource)

    The resource of type PdfResource.



14
15
16
17
18
# File 'lib/ruby_client/PdfInfo.rb', line 14

def initialize(resource)
  super()
  @resource = resource
  @_endpoint_name = 'pdf-info'
end

Instance Method Details

#processObject

Process the pdf resource to get pdf’s information.

Returns:

  • PdfInfoResponse Returns collection of PdfInfoResponse.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/ruby_client/PdfInfo.rb', line 24

def process
  header = {
    'Authorization': "Bearer #{@api_key}",
    'Content-Length': @resource.data.length.to_s,
    'Expect': '100-continue',
    'Content-Type': 'application/pdf'
  }
  uri = URI.parse("#{@base_url}/v1.0/#{@_endpoint_name}")

  request = Net::HTTP::Post.new(uri.request_uri, header)

  req_options = {
    use_ssl: uri.scheme == 'https',
    verify_mode: OpenSSL::SSL::VERIFY_NONE

  }

  request.content_type = 'application/pdf'

  request.body = @resource.data

  response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
    http.request(request)
  end
  out_data = response.body
  ret_object = PdfInfoResponse.new(out_data)
  ret_object.is_successful = false
  ret_object.status_code = response.code
  if ret_object.status_code == '200'
    ret_object.is_successful = true
  else
    out_data_json = JSON.parse(out_data)
    ret_object.error_json = out_data
    ret_object.error_message = if !out_data_json['message'].nil?
                                 out_data_json['message']
                               else
                                 "status_code : #{Net::HTTPResponse::CODE_TO_OBJ[ret_object.status_code]}"
                               end
    ret_object.error_id = out_data_json['id']
  end

  ret_object
end