43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/roadforest/http/user-agent.rb', line 43
def send_request(request, retry_limit=5)
trace_message(request)
response = http_client.do_request(request)
trace_message(response)
case response.status
when 304
response = cache.fetch(request.url).fetch(response.etag)
trace_message(response)
return response
when 401
request.["Authorization"] = keychain.challenge_response(url, response.["WWW-Authenticate"])
raise Retryable
end
return response
rescue Retryable
raise unless (retry_limit -= 1) > 0
retry
end
|