class Excon::Connection

def response(datum={})

def response(datum={})
  unless datum.has_key?(:response)
    datum = Excon::Response.parse(socket, datum)
  end
  datum[:stack].response_call(datum)
rescue => error
  case error
  when Excon::Errors::HTTPStatusError, Excon::Errors::Timeout
    raise(error)
  else
    raise(Excon::Errors::SocketError.new(error))
  end
end