class PDFire::Client
Attributes
api_key[R]
base_url[RW]
http[RW]
Public Class Methods
Public Instance Methods
cdn_result(response)
click to toggle source
# File lib/client.rb, line 99 def cdn_result(response) body = JSON.parse(response.body) initialized_at = Date.iso8601 body['initializedAt'] finished_at = nil if body['finished_at'] finished_at = Date.iso8601 body['finishedAt'] end result = nil if body['result'] result = Conversion::Result.new (Date.iso8601 body['result']['expiresAt'] if body['result']['expiresAt'] else nil), body['result']['size'], body['result']['runtime'], body['result']['url'] end conversion = Conversion.new initialized_at, finished_at, body['status'], body['error'], result end
convert(params)
click to toggle source
@param params [ConversionParams, MergeParams] the conversion/merge parameters. @return [Result] the conversion result.
# File lib/client.rb, line 27 def convert(params) map = params.to_map request = Net::HTTP::Post.new(@base_url + "/v1/conversions", initheader = { 'Authorization': "Bearer #{@api_key}", 'Content-Type': 'application/json', }) request.body = map.to_json res = @http.request(request) status = res.code.to_i if status == 401 raise UnauthorizedError end if status != 201 content_type = res.header['content-type'] if not content_type.include? 'application/json' raise RequestError end raise APIError.new JSON.parse(res.body)["errors"] end self.result(res) end
convert_to_bytes(params)
click to toggle source
@param params [ConversionParams, MergeParams] the conversion/merge parameters. @return [Array<byte>] the PDF bytes.
# File lib/client.rb, line 65 def convert_to_bytes(params) self.convert_to_bytes_result(params).bytes() end
convert_to_bytes_result(params)
click to toggle source
@param params [ConversionParams, MergeParams] the conversion/merge parameters. @return [BytesResult] the conversion result.
# File lib/client.rb, line 58 def convert_to_bytes_result(params) params.cdn = false self.convert params end
convert_using_cdn(params)
click to toggle source
@param params [ConversionParams, MergeParams] the conversion/merge parameters. @return [Conversion] the conversion.
# File lib/client.rb, line 71 def convert_using_cdn(params) params.cdn = true self.convert params end
convert_using_storage(params, options = nil)
click to toggle source
@param params [ConversionParams, MergeParams] the conversion/merge parameters. @param options [Hash] the storage options. @return [Conversion] the conversion.
# File lib/client.rb, line 79 def convert_using_storage(params, options = nil) if options != nil params.storage = options else params.storage = true end self.convert params end
result(response)
click to toggle source
# File lib/client.rb, line 89 def result(response) content_type = response.header['content-type'] if content_type.include? 'application/json' return self.cdn_result(response) end BytesResult.new(response.body.bytes) end