module BWAPI::Connection

Connection module

Constants

RACK_BUILDER_CLASS

Private Instance Methods

connection() click to toggle source
# File lib/bwapi/connection.rb, line 15
def connection
  @connection ||= Faraday.new(faraday_options)
end
faraday_options() click to toggle source
# File lib/bwapi/connection.rb, line 23
def faraday_options
  opts                           = @connection_options
  opts[:headers][:authorization] = "bearer #{@access_token}" if @access_token
  opts[:builder]                 = middleware
  opts[:ssl]                     = { verify: @verify_ssl }
  opts[:request][:timeout]       = @timeout
  opts[:request][:open_timeout]  = @open_timeout
  opts[:url]                     = @api_endpoint
  opts
end
middleware() click to toggle source
# File lib/bwapi/connection.rb, line 34
def middleware
  RACK_BUILDER_CLASS.new do |builder|
    builder.request :json

    builder.use BWAPI::Response::Performance, self if debug
    builder.use BWAPI::Response::Error
    builder.use BWAPI::Response::Logger, self if debug

    builder.response :oj
    builder.response :csv, parser: { encoding: 'bom|utf-8' }
    builder.response :follow_redirects
    builder.adapter Faraday.default_adapter
  end
end
reset_connection() click to toggle source
# File lib/bwapi/connection.rb, line 19
def reset_connection
  @connection = nil
end