class HTTP::Request::Writer
def write(data)
def write(data) until data.empty? length = @socket.write(data) break unless data.bytesize > length data = data.byteslice(length..-1) end rescue Errno::EPIPE raise rescue IOError, SocketError, SystemCallError => e raise ConnectionError, "error writing to socket: #{e}", e.backtrace end