class Url2pdf::Client

Constants

DEFAULT_HTTP_TIMEOUT
DEFAULT_PDF_SERVICE_URL

Public Class Methods

new(api_key, options = {}) click to toggle source
# File lib/url2pdf.rb, line 12
def initialize(api_key, options = {})
  @api_key = api_key
  @service_options = options
end

Public Instance Methods

pdf_from_url(full_url, options = {}) click to toggle source
# File lib/url2pdf.rb, line 17
def pdf_from_url(full_url, options = {})
  raise "API Key Is Required" if @api_key.nil?
  uri = URI(full_url)
  params = URI.decode_www_form(uri.query || "") << ['icanhazpdf', @api_key]
  uri.query = URI.encode_www_form(params)
  options_as_query_string = URI.encode_www_form(options.delete_if {|k,v| v.nil?})
  encoded_url = "#{@service_options[:server_url] || DEFAULT_PDF_SERVICE_URL}?url=#{Rack::Utils.escape(uri)}&#{options_as_query_string}"
  HTTParty.get(encoded_url, timeout: @service_options[:timeout] || DEFAULT_HTTP_TIMEOUT)
end