class ChatWork::BaseClient

Public Class Methods

new(api_base:, api_version: "", header:) click to toggle source

@param api_base [String] @param api_version [String] @param header [Hash<String,String>]

# File lib/chatwork/base_client.rb, line 11
def initialize(api_base:, api_version: "", header:)
  default_header = {
    "User-Agent" => "ChatWork#{api_version} RubyBinding/#{ChatWork::VERSION}",
  }

  default_header.merge!(header)

  @conn = Faraday.new(api_base, headers: default_header) do |builder|
    builder.request :chatwork_multipart
    builder.request :url_encoded
    builder.response :mashify
    builder.response :json
    builder.adapter Faraday.default_adapter
  end
  @api_version = api_version
end

Public Instance Methods

handle_response(response) click to toggle source
# File lib/chatwork/base_client.rb, line 28
def handle_response(response)
  case response.status
  when 200..299
    response.body
  else
    raise ChatWork::ChatWorkError.from_response(response.status, response.body, response.headers)
  end
end