Split up Connection#request a bit