7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/ncore/client.rb', line 7
def request(method, url, request_credentials, params={}, ={})
request_credentials ||= retrieve_credentials
request_credentials = parse_credentials(request_credentials)
base_url = request_credentials[:url] || retrieve_default_url
base_url << '/' unless base_url.ends_with?('/')
url = base_url + url
= (, request_credentials.except(:url))
path = URI.parse(url).path
if [:get, :head, :delete].include? method
qs = build_query_string params
url += qs
path += qs
payload = nil
else
payload = MultiJson.encode params
end
rest_opts = {
body: payload,
headers: ,
method: method,
path: path,
read_timeout: 50,
url: url,
write_timeout: 50,
}
response = execute_request(rest_opts)
parsed = parse_response(response)
[parsed, request_credentials]
end
|