Class: BingTranslator::ApiClient

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

Constant Summary collapse

API_HOST =
'https://api.cognitive.microsofttranslator.com'.freeze
COGNITIVE_ACCESS_TOKEN_URI =
URI.parse('https://api.cognitive.microsoft.com/sts/v1.0/issueToken').freeze

Instance Method Summary collapse

Constructor Details

#initialize(subscription_key, skip_ssl_verify) ⇒ ApiClient

Returns a new instance of ApiClient.



20
21
22
23
# File 'lib/bing_translator.rb', line 20

def initialize(subscription_key, skip_ssl_verify)
  @subscription_key = subscription_key
  @skip_ssl_verify = skip_ssl_verify
end

Instance Method Details

#get(path, params: {}, headers: {}, authorization: false) ⇒ Object



25
26
27
28
29
30
# File 'lib/bing_translator.rb', line 25

def get(path, params: {}, headers: {}, authorization: false)
  uri = request_uri(path, params)
  request = Net::HTTP::Get.new(uri.request_uri, default_headers(authorization).merge(headers))

  json_response(uri, request)
end

#post(path, params: {}, headers: {}, data: {}, authorization: true) ⇒ Object



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

def post(path, params: {}, headers: {}, data: {}, authorization: true)
  uri = request_uri(path, params)

  request = Net::HTTP::Post.new(uri.request_uri, default_headers(authorization).merge(headers))
  request.body = data

  json_response(uri, request)
end