Sha256: dba6a28d5d013f2ce28ed4d6ed0e64107a150442751af21ef5b7235dced4f0da

Contents?: true

Size: 557 Bytes

Versions: 12

Compression:

Stored size: 557 Bytes

Contents

require 'rest-core/middleware'
require 'rest-core/util/json'

class RestCore::JsonRequest
  def self.members; [:json_request]; end
  include RestCore::Middleware

  JSON_REQUEST_HEADER = {'Content-Type' => 'application/json'}.freeze

  def call env, &k
    return app.call(env, &k) unless json_request(env)
    return app.call(env, &k) unless env[REQUEST_PAYLOAD]

    app.call(env.merge(
      REQUEST_HEADERS => JSON_REQUEST_HEADER.merge(env[REQUEST_HEADERS]||{}),
      REQUEST_PAYLOAD => Json.encode(env[REQUEST_PAYLOAD])              ), &k)
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rest-core-3.2.0 lib/rest-core/middleware/json_request.rb
rest-core-3.1.1 lib/rest-core/middleware/json_request.rb
rest-core-3.1.0 lib/rest-core/middleware/json_request.rb
rest-core-3.0.0 lib/rest-core/middleware/json_request.rb
rest-core-2.1.2 lib/rest-core/middleware/json_request.rb
rest-core-2.1.1 lib/rest-core/middleware/json_request.rb
rest-core-2.1.0 lib/rest-core/middleware/json_request.rb
rest-core-2.0.4 lib/rest-core/middleware/json_request.rb
rest-core-2.0.3 lib/rest-core/middleware/json_request.rb
rest-core-2.0.2 lib/rest-core/middleware/json_request.rb
rest-core-2.0.1 lib/rest-core/middleware/json_request.rb
rest-core-2.0.0 lib/rest-core/middleware/json_request.rb