Class: Rack::Restrictor
- Inherits:
-
Object
- Object
- Rack::Restrictor
- Defined in:
- lib/rack_restrictor.rb
Constant Summary collapse
- PAGE_CODE =
<<-EOCODE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title> Anauthorized access</title> </head> <body> <h1> Anauthorized access</h1> </body> </html> EOCODE
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, plage) ⇒ Restrictor
constructor
A new instance of Restrictor.
Constructor Details
#initialize(app, plage) ⇒ Restrictor
Returns a new instance of Restrictor.
17 18 19 20 |
# File 'lib/rack_restrictor.rb', line 17 def initialize(app, plage) @app = app @plage = IPAddr.new( plage.to_s ) end |
Instance Method Details
#call(env) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rack_restrictor.rb', line 22 def call(env) if ( env['REMOTE_ADDR'].to_s ) status, headers, body = @app.call(env) else status, headers, body = [401, {"Content-Type" => "text/html"}, PAGE_CODE] end [status, headers, body] end |