class CognitiveVision::Connection
Constants
- ENDPOINT
Public Class Methods
new()
click to toggle source
# File lib/cognitive_vision/connection.rb, line 8 def initialize @uri = URI(ENDPOINT) @http = Net::HTTP.new(@uri.host, @uri.port) @http.use_ssl = @uri.scheme == 'https' end
Public Instance Methods
post(path, params, body)
click to toggle source
# File lib/cognitive_vision/connection.rb, line 14 def post(path, params, body) uri = prepare_uri(path, params) request = Net::HTTP::Post.new(uri.request_uri, 'Content-Type' => 'application/json') request['Ocp-Apim-Subscription-Key'] = CognitiveVision.configuration.key request.body = body.to_json request_json(request) end
Private Instance Methods
prepare_uri(path, query_params)
click to toggle source
# File lib/cognitive_vision/connection.rb, line 24 def prepare_uri(path, query_params) uri = @uri.dup uri.path += path uri.query = URI.encode_www_form(query_params) uri end
request_json(request)
click to toggle source
# File lib/cognitive_vision/connection.rb, line 31 def request_json(request) response = @http.request(request) body = JSON.parse(response.body) raise RateLimitError if response.code.to_i == 429 OpenStruct.new(code: response.code.to_i, body: body) end