Skip to content

Commit 11eeadb

Browse files
committed
Better error handling and added a 15s timeout on HTTP requests
1 parent 1b35b21 commit 11eeadb

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

lib/docs/core/doc.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,13 +223,14 @@ def fetch(url, opts)
223223
end
224224

225225
opts[:logger].debug("Fetching #{url}")
226-
response = Request.run(url, { headers: headers })
226+
response = Request.run(url, { connecttimeout: 15, headers: headers })
227227

228228
if response.success?
229229
response.body
230230
else
231-
opts[:logger].error("Couldn't fetch #{url} (response code #{response.code})")
232-
nil
231+
reason = response.timed_out? ? "Timed out while fetching #{url}" : "Couldn't fetch #{url} (response code #{response.code})"
232+
opts[:logger].error(reason)
233+
raise reason
233234
end
234235
end
235236

lib/tasks/updates.thor

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ class UpdatesCLI < Thor
7272
rescue NotImplementedError
7373
logger.warn("Couldn't check #{doc.name}, get_latest_version is not implemented")
7474
error_result(doc, '`get_latest_version` is not implemented')
75-
rescue
76-
logger.error("Error while checking #{doc.name}")
77-
raise
75+
rescue => error
76+
logger.error("Error while checking #{doc.name}\n#{error.full_message.strip}")
77+
error_result(doc, error.message.gsub(/'/, '`'))
7878
end
7979

8080
def format_version(version)

0 commit comments

Comments
 (0)