# File lib/cookiejar/cookie_validation.rb, line 353
    def self.parse_set_cookie2 set_cookie_value
      args = { }
      first = true
      index = 0
      begin
        md = PARAM2.match set_cookie_value[index..-1]
        if md.nil? || md.offset(0).first != 0
          raise InvalidCookieError.new "Invalid Set-Cookie2 header '#{set_cookie_value}'"
        end
        index+=md.offset(0)[1]
        
        key = md[1].downcase.to_sym
        keyvalue = md[2] || md[3]
        if first
          args[:name] = md[1]
          args[:value] = keyvalue
          first = false
        else
          keyvalue = value_to_string keyvalue
          case key
          when *[:comment,:commenturl,:domain,:path]
            args[key] = keyvalue
          when *[:discard,:secure]
            args[key] = true
          when :httponly
            args[:http_only] = true
          when "max-age""max-age"
            args[:max_age] = keyvalue.to_i
          when :version
            args[:version] = keyvalue.to_i
          when :port
            # must be in format '"port,port"'
            ports = keyvalue.split /,\s*/
            args[:ports] = ports.map do |portstr| portstr.to_i end
          else
            raise InvalidCookieError.new "Unknown cookie parameter '#{key}'"
          end
        end
      end until md.post_match.empty?
      # if our last match in the scan failed
      if args[:version] != 1
        raise InvalidCookieError.new "Set-Cookie2 declares a non RFC2965 version cookie"
      end
      
      args
    end