# File lib/ftw/request.rb, line 73 def execute(connection) tries = 3 begin connection.write(to_s + CRLF) if body? write_http_body(body, connection, headers["Transfer-Encoding"] == "chunked") end rescue => e # TODO(sissel): Rescue specific exceptions, not just anything. # Reconnect and retry if tries > 0 tries -= 1 connection.connect retry else raise e end end response = read_http_message(connection) # TODO(sissel): make sure we got a response, not a request, cuz that'd be weird. return response end