Publicize the CGI‘s internal input stream so we can lazy-read request.body. Make it writable so we don‘t have to play $stdin games.

Methods
Public Class methods
included(base)
    # File actionpack/lib/action_controller/cgi_ext/stdinput.rb, line 8
 8:       def self.included(base)
 9:         base.class_eval do
10:           remove_method :stdinput
11:           attr_accessor :stdinput
12:         end
13: 
14:         base.alias_method_chain :initialize, :stdinput
15:       end
Public Instance methods
initialize_with_stdinput(type = nil, stdinput = $stdin)
    # File actionpack/lib/action_controller/cgi_ext/stdinput.rb, line 17
17:       def initialize_with_stdinput(type = nil, stdinput = $stdin)
18:         @stdinput = stdinput
19:         @stdinput.set_encoding(Encoding::BINARY) if @stdinput.respond_to?(:set_encoding)
20:         initialize_without_stdinput(type || 'query')
21:       end