module FimmedUp::Connection

Private Instance Methods

connection(options) click to toggle source
# File lib/fimmed_up/connection.rb, line 11
def connection(options)
  default_options = {
    :url => options.fetch(:endpoint, endpoint),
    :user => options.fetch(:username, username),
    :password => options.fetch(:password, password)        

  }

  @connection ||= Faraday.new(default_options) do |builder|
    builder.use FimmedUp::Response::RaiseClientError
    builder.use FimmedUp::Response::RaiseServerError

    builder.basic_auth(default_options[:user], default_options[:password])

    builder.headers["Http-Accept"] = "application/json"
    builder.headers["Content-Type"] = "application/json"
    
    # encodes ruby Hashes/Arrays in POST bodies as "application/json"
    # builder.request :multipart
    builder.request :url_encoded
    builder.request :json

    # TODO: Make logging optional
    # builder.response :logger

    builder.adapter Faraday.default_adapter
  end
end