lib/nexaas/throttle/guardian.rb in nexaas-throttle-2.0.1 vs lib/nexaas/throttle/guardian.rb in nexaas-throttle-2.0.2

- old
+ new

@@ -5,10 +5,11 @@ class Guardian def initialize(request, configuration) @request = request @token = configuration.request_identifier.new(request).token @ignored_user_agents = configuration.ignored_user_agents + @assets_extensions = configuration.assets_extensions end def throttle! validate { token } end @@ -17,27 +18,25 @@ validate { true } end private - attr_reader :request, :token, :ignored_user_agents + attr_reader :request, :token, :ignored_user_agents, :assets_extensions def validate - return if ignore_user_agents? || assets? || token.blank? + return if ignore_user_agents? || asset_request? || token.blank? request.env["nexaas.token"] = token yield if block_given? end - def assets? + def asset_request? path = request.path - path.match(%r{/assets}).present? || path.match(extensions_regexp).present? + path.match(%r{/assets}).present? || path.match(assets_extensions_regexp).present? end - def extensions_regexp - @assets_extensions ||= begin - extensions_group = %w(css js png jpg gif).join("|") - /\.(#{extensions_group})(\?\S*)?$/ - end + def assets_extensions_regexp + extensions = assets_extensions.join("|") + /\.(#{extensions})$/ end def ignore_user_agents? ignored_user_agents && !ignored_user_agents.map { |regexp| regexp.match(request.user_agent) }.compact.blank? end