require 'net/http'
require 'timeout'
require 'mysql2' # https://github.com/brianmario/mysql2
def download_to_database(url, sql_statement)
Timeout::timeout(5) do # BUG. Never do this.
res = Net::HTTP.get_response(url)
sql_statement.execute(url.to_s, res.code, res.body)
end
end
client = Mysql2::Client.new(...)
statement = client.prepare(
"INSERT INTO http_responses (url, status_code, body) VALUES (?, ?, ?)"
)
download_to_database(URI('http://example.com'), statement)
download_to_database(URI('http://example.org'), statement)
# ... et cetera
view raw buggy_code.rb hosted with ❤ by GitHub