Sha256: 03070fa7ce50d7837e8425ca342be2373736fd6a9cf5e32baec0f3fc36480143

Contents?: true

Size: 527 Bytes

Versions: 8

Compression:

Stored size: 527 Bytes

Contents

module Rack::App::InstanceMethods::Payload

  def payload
    request.env[Rack::App::Constants::ENV::PAYLOAD_GETTER].call
  end

  def payload_stream
    return nil unless @request.body.respond_to?(:gets)
    while chunk = @request.body.gets
      yield(chunk)
    end
    # @request.body.rewind
    nil
  end

  def payload_to_file(file_path, file_mod='w')
    return nil unless @request.body.respond_to?(:gets)
    File.open(file_path, file_mod) do |file|
      payload_stream{ |chunk| file.print(chunk) }
    end
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rack-app-11.0.2 lib/rack/app/instance_methods/payload.rb
rack-app-11.0.1 lib/rack/app/instance_methods/payload.rb
rack-app-11.0.0 lib/rack/app/instance_methods/payload.rb
rack-app-10.0.0 lib/rack/app/instance_methods/payload.rb
rack-app-9.0.0 lib/rack/app/instance_methods/payload.rb
rack-app-8.1.0 lib/rack/app/instance_methods/payload.rb
rack-app-8.0.1 lib/rack/app/instance_methods/payload.rb
rack-app-8.0.0 lib/rack/app/instance_methods/payload.rb