Class: UrlLocale::Middleware

Inherits:
Object
  • Object
show all
Defined in:
lib/url_locale/middleware.rb

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ Middleware

Returns a new instance of Middleware.



4
5
6
# File 'lib/url_locale/middleware.rb', line 4

def initialize app
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/url_locale/middleware.rb', line 8

def call env
  status, headers, body = @app.call env
  request = ::Rack::Request.new env
  mime_types = env["action_dispatch.request.formats"] || []
  if mime_types.find(&:html?).present?
    env['rack.locale'] = headers['Content-Language'] = UrlLocale.detect(request)
  end
  [status, headers, body]
end