Sha256: 0f914b3080afaa78673f2e5cefd0e3331a56a320f74b24581e34a4944bba2ac5

Contents?: true

Size: 813 Bytes

Versions: 1

Compression:

Stored size: 813 Bytes

Contents

module Rack::PerftoolsProfiler
  
  class Action

    def initialize(env, profiler, middleware)
      @env = env
      @request = Rack::Request.new(env)
      @get_params = @request.GET.clone
      @profiler = profiler
      @middleware = middleware
    end
    
    def act
      # do nothing
    end

    def self.for_env(env, profiler, middleware)
      request = Rack::Request.new(env)
      klass = 
        case request.path_info
        when %r{/__start__$}
          StartProfiling
        when %r{/__stop__$}
          StopProfiling
        when %r{/__data__$}
          ReturnData
        else
          if ProfileOnce.has_special_param?(request)
            ProfileOnce
          else
            CallAppDirectly
          end
        end
      klass.new(env, profiler, middleware)
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rack-perftools_profiler-0.4.1 lib/rack/perftools_profiler/action.rb