Class: TalkApi::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/talk_api/request.rb

Overview

API request class

Constant Summary collapse

ENDPOINT_URL =
'https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk'
HEADERS =
[
  ['User-Agent', "#{self}/#{VERSION}"]
].freeze

Instance Method Summary collapse

Instance Method Details

#call(api_key, message) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/talk_api/request.rb', line 14

def call(api_key, message)
  query = message.byteslice(0, 2048).scrub('')
  begin
    client = HTTPClient.new
    response = client.post(ENDPOINT_URL, { apikey: api_key, query: query }, header: HEADERS)
  rescue StandardError => e
    raise HTTPError, e.message
  end
  json = JSON.parse(response.body, symbolize_names: true)
  Response.new(json[:status], json[:message], json[:results])
end