23 lines
490 B
Ruby
23 lines
490 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'set'
|
|
|
|
module Gitlab
|
|
module RackAttack
|
|
class UserAllowlist
|
|
extend Forwardable
|
|
|
|
def_delegators :@set, :empty?, :include?, :to_a
|
|
|
|
def initialize(list)
|
|
@set = Set.new
|
|
|
|
list.to_s.split(',').each do |id|
|
|
@set << Integer(id) unless id.blank?
|
|
rescue ArgumentError
|
|
Gitlab::AuthLogger.error(message: 'ignoring invalid user allowlist entry', entry: id)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|