class Fastbill::Automatic::Request::Connection

Attributes

https[R]

Public Class Methods

new(request_info) click to toggle source
# File lib/fastbill-automatic/request/connection.rb, line 7
def initialize(request_info)
  @info = request_info
end

Public Instance Methods

request() click to toggle source
# File lib/fastbill-automatic/request/connection.rb, line 18
def request
  https.start do |connection|
    https.request(https_request)
  end
end
setup_https() click to toggle source
# File lib/fastbill-automatic/request/connection.rb, line 11
def setup_https
  @https             = Net::HTTP.new(API_BASE, Net::HTTP.https_default_port)
  @https.use_ssl     = true
  @https.verify_mode = OpenSSL::SSL::VERIFY_PEER
  @https.ca_file     = File.join(ROOT_PATH, "data/fastbill.crt")
end

Protected Instance Methods

https_request() click to toggle source
# File lib/fastbill-automatic/request/connection.rb, line 26
def https_request
  https_request = Net::HTTP::Post.new(@info.url)
  https_request.basic_auth(Fastbill::Automatic.email, Fastbill::Automatic.api_key)
  body = {service: @info.service}
  body[(@info.service.include?('.get') ? :filter : :data)] = @info.data
  https_request.body = body.to_json
  https_request
end