Module: Wafris
- Defined in:
- lib/wafris.rb,
lib/wafris/railtie.rb,
lib/wafris/version.rb,
lib/wafris/middleware.rb,
lib/wafris/configuration.rb,
lib/wafris/log_suppressor.rb
Defined Under Namespace
Classes: Configuration, LogSuppressor, Middleware, Railtie
Constant Summary collapse
- VERSION =
"1.1.8"
Class Attribute Summary collapse
-
.configuration ⇒ Object
Returns the value of attribute configuration.
Class Method Summary collapse
Class Attribute Details
.configuration ⇒ Object
Returns the value of attribute configuration.
15 16 17 |
# File 'lib/wafris.rb', line 15 def configuration @configuration end |
Class Method Details
.allow_request?(request) ⇒ Boolean
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/wafris.rb', line 36 def allow_request?(request) configuration.connection_pool.with do |conn| time = Time.now.utc.to_i * 1000 status = conn.evalsha( configuration.core_sha, argv: [ request.ip, IPAddr.new(request.ip).to_i, time, request.user_agent, request.path, request.query_string, request.host, request.request_method ] ) if status.eql? 'Blocked' return false else return true end end end |
.configure ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/wafris.rb', line 17 def configure raise ArgumentError unless block_given? self.configuration ||= Wafris::Configuration.new yield(configuration) LogSuppressor.puts_log( "[Wafris] attempting firewall connection via Wafris.configure initializer." ) unless configuration.quiet_mode configuration.create_settings rescue Redis::CannotConnectError LogSuppressor.puts_log( "[Wafris] firewall disabled. Cannot connect via Wafris.configure. Please check your configuration settings. More info can be found at: https://github.com/Wafris/wafris-rb" ) rescue ArgumentError LogSuppressor.puts_log( "[Wafris] block is required to configure Wafris. More info can be found at: https://github.com/Wafris/wafris-rb" ) end |