query (HTTPClient::Session)

    # File lib/httpclient/session.rb, line 521
        def query(req)
          connect if @state == :INIT
          req.header.request_via_proxy = !@proxy.nil?
          begin
            timeout(@send_timeout, SendTimeoutError) do
              set_header(req)
              req.dump(@socket)
              # flush the IO stream as IO::sync mode is false
              @socket.flush unless @socket_sync
            end
          rescue Errno::ECONNABORTED, Errno::ECONNRESET, Errno::EPIPE
            close
            raise KeepAliveDisconnected.new
          rescue HTTPClient::TimeoutError
            close
            raise
          rescue
            if SSLEnabled and $!.is_a?(OpenSSL::SSL::SSLError)
              raise KeepAliveDisconnected.new
            else
              raise
            end
          end

          @state = :META if @state == :WAIT
          @next_connection = nil
          @requests.push(req)
        end