class SageWorld::Request
Attributes
connection[R]
url[R]
Public Class Methods
new(params)
click to toggle source
# File lib/sage_world/request.rb, line 9 def initialize(params) @params = params @auth ||= SageWorld::Auth.new(params) @url ||= URI(SageWorld.configuration.end_point) end
Public Instance Methods
make_request()
click to toggle source
# File lib/sage_world/request.rb, line 37 def make_request @connection ||= make_connection if @connection @connection.post do |request| request.body = @auth.to_xml end end end
Private Instance Methods
make_connection()
click to toggle source
# File lib/sage_world/request.rb, line 15 def make_connection @connection ||= Faraday.new(@url, { request: { timeout: 3000 } }) do |builder| builder.response :xml, :content_type => /\bxml$/ builder.response :json, :content_type => /\bjson$/ builder.response :xml, :content_type => /\bhtml$/ # Enable logging if enabled if SageWorld.configuration.log_data builder.response :logger, ::Logger.new("#{Rails.root}/log/sage_world.log"), bodies: true do |logger| logger.filter(/(\<LoginId\>)(\w+)/,'\1[REMOVED]') logger.filter(/(\<Password\>)(\w+)/,'\1[REMOVED]') logger.filter(/(\<AcctId\>)(\w+)/,'\1[REMOVED]') end end builder.adapter Faraday.default_adapter end end