class Speedup::Middleware
Public Class Methods
new(app)
click to toggle source
# File lib/speedup/middleware.rb, line 5 def initialize(app) @app = app @redirects = [] end
Public Instance Methods
call(env)
click to toggle source
# File lib/speedup/middleware.rb, line 10 def call(env) return @app.call(env) if !Speedup.enabled? Speedup.setup_request(env['action_dispatch.request_id']) status, headers, body = @app.call(env) Speedup.request.save if Speedup.show_bar? && headers['Content-Type'] =~ /text\/html/ case status.to_i when 200..299, 400..500 body = SpeedupBody.new(body, @redirects) headers['Content-Length'] = (headers['Content-Length'].to_i + body.bar_html.length).to_s if headers['Content-Length'] && body.render_bar? @redirects = [] when 300..400 @redirects.push(Speedup.request.id) end end [status, headers, body] rescue Exception => exception Speedup.request && Speedup.request.save raise exception end
speedup_request?(env)
click to toggle source
# File lib/speedup/middleware.rb, line 34 def speedup_request?(env) env['REQUEST_PATH'].starts_with?('/speedup_rails') end