11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/dhlgm-track/client.rb', line 11
def request(request, &block)
response = Typhoeus::Request.get(tracking_api_url, {
timeout: DHLGM.config.timeout,
params: {
uname: DHLGM.config.username,
pass: DHLGM.config.password,
}.merge(request.api_params)
})
xml = Nokogiri::XML.parse(response.body)
if (error = xml.search('error')).any?
code = error.search('code').text
description = error.search('description').text
raise Error.for_code(code).new(code, description)
end
request.response_handler(xml)
end
|