Froze rails gems
[depot.git] / vendor / rails / actionpack / lib / action_controller / cgi_ext / stdinput.rb
diff --git a/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb b/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb
new file mode 100644 (file)
index 0000000..5e9b678
--- /dev/null
@@ -0,0 +1,24 @@
+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