Class: ApiAi::Session

Inherits:
Object
  • Object
show all
Includes:
Request
Defined in:
lib/api_ai/session.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods included from Request

#do_http, #do_http_with_body, #make_query_string

Constructor Details

#initialize(access_token, subscription_key) ⇒ Session

Returns a new instance of Session.

Parameters:

  • access_token (String)
  • subscription_key (String)


11
12
13
14
15
16
17
18
19
20
# File 'lib/api_ai/session.rb', line 11

def initialize(access_token, subscription_key)
  unless access_token.is_a?(String)
    fail 'bad type for access_token (expecting String)'
  end
  unless subscription_key.is_a?(String)
    fail 'bad type for subscription_key (expecting String)'
  end
  @access_token = access_token
  @subscription_key = subscription_key
end

Instance Method Details

#do_get(path, params = nil, headers = nil) ⇒ Object

:nodoc:



22
23
24
25
26
27
28
29
30
# File 'lib/api_ai/session.rb', line 22

def do_get(path, params = nil, headers = nil) # :nodoc:
  params ||= {}
  params['v'] = ApiAi::API_VERSION
  headers ||= {}
  headers['Authorization'] = "Bearer #{@access_token}"
  headers['ocp-apim-subscription-key'] = "Bearer #{@subscription_key}"
  uri = build_url_with_params(path, params)
  do_http(uri, Net::HTTP::Get.new(uri.request_uri))
end

#do_post(path, params = nil, headers = nil) ⇒ Object

:nodoc:



32
33
34
35
36
37
38
39
# File 'lib/api_ai/session.rb', line 32

def do_post(path, params = nil, headers = nil) # :nodoc:
  headers ||= {}
  headers['Authorization'] = "Bearer #{@access_token}"
  headers['ocp-apim-subscription-key'] = "Bearer #{@subscription_key}"

  uri = build_url_with_params(path, 'v' => ApiAi::API_VERSION)
  do_http_with_body(uri, Net::HTTP::Post.new(uri.request_uri, headers), params)
end