mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
24 lines
688 B
Ruby
24 lines
688 B
Ruby
require 'cgi'
|
|
|
|
module ActionController
|
|
module CgiExt
|
|
# 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.
|
|
module Stdinput
|
|
def self.included(base)
|
|
base.class_eval do
|
|
remove_method :stdinput
|
|
attr_accessor :stdinput
|
|
end
|
|
|
|
base.alias_method_chain :initialize, :stdinput
|
|
end
|
|
|
|
def initialize_with_stdinput(type = nil, stdinput = $stdin)
|
|
@stdinput = stdinput
|
|
@stdinput.set_encoding(Encoding::BINARY) if @stdinput.respond_to?(:set_encoding)
|
|
initialize_without_stdinput(type || 'query')
|
|
end
|
|
end
|
|
end
|
|
end
|