Sha256: 15d4271b1260cc6e307a9c9ba439ca3a3a875d2467f6974947e3208f39043b7d

Contents?: true

Size: 469 Bytes

Versions: 9

Compression:

Stored size: 469 Bytes

Contents

module Rack
  module JSONP

    class MethodOverride
      def initialize(app, method_param = "_method")
        @app, @method_param = app, method_param
      end

      def call(env)
        if env["jsonp.callback"] && method = Rack::Request.new(env).params[@method_param]
          method.upcase!
          env["REQUEST_METHOD"] = %w(GET HEAD PUT POST DELETE OPTIONS).include?(method) ? method : "GET"
        end

        @app.call(env)
      end
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rack-jsonp-tools-0.4.1 lib/rack/jsonp/method_override.rb
rack-jsonp-tools-0.4.0 lib/rack/jsonp/method_override.rb
rack-jsonp-tools-0.3.6 lib/rack/jsonp/method_override.rb
rack-jsonp-tools-0.3.5 lib/rack/jsonp/method_override.rb
rack-jsonp-tools-0.3.4 lib/rack/jsonp/method_override.rb
rack-jsonp-tools-0.3.3 lib/rack/jsonp/method_override.rb
rack-jsonp-tools-0.3.2 lib/rack/jsonp/method_override.rb
rack-jsonp-tools-0.3.0 lib/rack/jsonp/method_override.rb
rack-jsonp-tools-0.2.0 lib/rack/jsonp/method_override.rb