class BreezyPDF::Client

HTTP Client for BreezyPDF API

Public Instance Methods

post(path, body) click to toggle source
# File lib/breezy_pdf/client.rb, line 6
def post(path, body)
  uri = URI.parse(BreezyPDF.base_url + path)
  http = Net::HTTP.new(uri.host, uri.port).tap { |h| h.use_ssl = true }
  request = Net::HTTP::Post.new(uri.request_uri, headers)

  request.body = body.to_json

  Response.new http.request(request)
end
put(path, body) click to toggle source
# File lib/breezy_pdf/client.rb, line 16
def put(path, body)
  uri = URI.parse(BreezyPDF.base_url + path)
  http = Net::HTTP.new(uri.host, uri.port).tap { |h| h.use_ssl = true }
  request = Net::HTTP::Put.new(uri.request_uri, headers)

  request.body = body.to_json

  Response.new http.request(request)
end

Private Instance Methods

headers() click to toggle source
# File lib/breezy_pdf/client.rb, line 28
def headers
  raise BreezyPDF::AuthError, "BreezyPDF.secret_api_key is not set" if BreezyPDF.secret_api_key.nil?

  {
    "Content-Type":  "application/json",
    "Authorization": "Bearer #{BreezyPDF.secret_api_key}"
  }
end
success?(code) click to toggle source
# File lib/breezy_pdf/client.rb, line 37
def success?(code)
  code >= 200 && code < 300
end