Merged updates from trunk into stable branch
[feedcatcher.git] / vendor / rails / actionpack / lib / action_controller / vendor / rack-1.0 / rack / adapter / camping.rb
diff --git a/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/adapter/camping.rb b/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/adapter/camping.rb
new file mode 100644 (file)
index 0000000..63bc787
--- /dev/null
@@ -0,0 +1,22 @@
+module Rack
+  module Adapter
+    class Camping
+      def initialize(app)
+        @app = app
+      end
+
+      def call(env)
+        env["PATH_INFO"] ||= ""
+        env["SCRIPT_NAME"] ||= ""
+        controller = @app.run(env['rack.input'], env)
+        h = controller.headers
+        h.each_pair do |k,v|
+          if v.kind_of? URI
+            h[k] = v.to_s
+          end
+        end
+        [controller.status, controller.headers, [controller.body.to_s]]
+      end
+    end
+  end
+end