transmit (RestClient::Request)

    # File lib/restclient/request.rb, line 105
                    def transmit(uri, req, payload)
                            setup_credentials(req)

                            net = net_http_class.new(uri.host, uri.port)
                            net.use_ssl = uri.is_a?(URI::HTTPS)
                            if @verify_ssl == false
            net.verify_mode = OpenSSL::SSL::VERIFY_NONE
          elsif @verify_ssl.is_a? Integer
            net.verify_mode = @verify_ssl
          end
                            net.cert = @ssl_client_cert if @ssl_client_cert
                            net.key = @ssl_client_key if @ssl_client_key
                            net.ca_file = @ssl_ca_file if @ssl_ca_file
                            net.read_timeout = @timeout if @timeout
                            net.open_timeout = @open_timeout if @open_timeout

                            display_log request_log

                            net.start do |http|
                                    res = http.request(req, payload) { |http_response| fetch_body(http_response) }
                                    result = process_result(res)
                                    display_log response_log(res)

                                    if result.kind_of?(String) or @method == :head
                                            Response.new(result, res)
                                    elsif @raw_response
                                            RawResponse.new(@tf, res)
                                    else
                                            nil
                                    end
                            end
                    rescue EOFError
                            raise RestClient::ServerBrokeConnection
                    rescue Timeout::Error
                            raise RestClient::RequestTimeout
                    end