Class: Middleware::Rolemodel::SourceMap
- Inherits:
-
Object
- Object
- Middleware::Rolemodel::SourceMap
- Defined in:
- lib/generators/rolemodel/source_map/templates/lib/middleware/rolemodel/source_map.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, **options) ⇒ SourceMap
constructor
A new instance of SourceMap.
Constructor Details
#initialize(app, **options) ⇒ SourceMap
Returns a new instance of SourceMap.
6 7 8 9 10 11 12 13 |
# File 'lib/generators/rolemodel/source_map/templates/lib/middleware/rolemodel/source_map.rb', line 6 def initialize(app, **) root = .delete(:root) || 'maps' default_headers = { 'Set-Cookie' => 'Same-Site=None', 'Cache-Control' => 'max-age=0;no-cache' } custom_headers = default_headers.merge(.delete(:headers) || {}) @app = app @allowed_users_emails = ENV.fetch('SOURCE_MAPS_ALLOWED_USERS_EMAILS', '').split(',') @file_server = Rack::Files.new(root, custom_headers) end |
Instance Method Details
#call(env) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/generators/rolemodel/source_map/templates/lib/middleware/rolemodel/source_map.rb', line 15 def call(env) if allowed_sourcemap?(env) @file_server.call(env.tap { |env| env['PATH_INFO'].sub!(%r{^/[\w-]+[^/]}, '') }) else @app.call(env) end end |