# File wfo/form.rb, line 180
  def make_request(submit_name=nil)
    secrets = []
    case @method
    when 'get'
      case @enctype
      when 'application/x-www-form-urlencoded'
        query = encode_application_x_www_form_urlencoded(submit_name)
        secrets << query
        request_uri = @action_uri.request_uri + "?"
        request_uri += query
        secrets << request_uri
        uri = @action_uri.dup
        if uri.query
          uri.query << '?' << query
        else
          uri.query = query
        end
        req = WFO::ReqHTTP.get(uri)
      else
        raise "unexpected enctype: #{@enctype}"
      end
    when 'post'
      case @enctype
      when 'application/x-www-form-urlencoded'
        query = encode_application_x_www_form_urlencoded(submit_name)
        secrets << query
        req = WFO::ReqHTTP.post(@action_uri, 'application/x-www-form-urlencoded', query)
      else
        raise "unexpected enctype: #{@enctype}"
      end
    else
      raise "unexpected method: #{@method}"
    end
    if @referer_uri
      req['Referer'] = @referer_uri.to_s
    end
    if block_given?
      begin
        yield req
      ensure
        secrets.each {|s|
          KeyRing.vanish!(s)
        }
      end
    else
      req
    end
  end