14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/handsoap/http/drivers/libuv_driver.rb', line 14
def send_http_request_async(request)
endp = ::UV::HttpEndpoint.new(request.url)
if request.username && request.password
request.['Authorization'] = [request.username, request.password]
end
req = endp.request(request.http_method, {
headers: request.,
body: request.body
})
deferred = ::Handsoap::Deferred.new
req.then do |resp|
= Hash[resp.map { |k, v| [k.to_s.downcase, Array(v)] }]
http_response = parse_http_part(, resp.body, resp.status)
deferred.trigger_callback http_response
end
req.catch do |err|
deferred.trigger_errback err
end
deferred
end
|