in lib/wit.rb [203:226]
def req(logger, access_token, meth_class, path, params={}, payload={})
uri = URI(WIT_API_HOST + path)
uri.query = URI.encode_www_form(params)
logger.debug("#{meth_class} #{uri}")
request = meth_class.new(uri)
request['authorization'] = 'Bearer ' + access_token
request['accept'] = 'application/vnd.wit.' + WIT_API_VERSION + '+json'
request.add_field 'Content-Type', 'application/json'
request.body = payload.to_json
Net::HTTP.start(uri.host, uri.port, {:use_ssl => uri.scheme == 'https'}) do |http|
rsp = http.request(request)
json = JSON.parse(rsp.body)
if rsp.code.to_i != 200
error_msg = (json.is_a?(Hash) and json.has_key?('error')) ? json['error'] : json
raise Error.new("Wit responded with an error: #{error_msg}")
end
logger.debug("#{meth_class} #{uri} #{json}")
json
end
end