about summary refs log tree commit diff
path: root/pkgs/development/ruby-modules/fake-s3-list-bucket.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ruby-modules/fake-s3-list-bucket.patch')
-rw-r--r--pkgs/development/ruby-modules/fake-s3-list-bucket.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/pkgs/development/ruby-modules/fake-s3-list-bucket.patch b/pkgs/development/ruby-modules/fake-s3-list-bucket.patch
new file mode 100644
index 000000000000..251935161d18
--- /dev/null
+++ b/pkgs/development/ruby-modules/fake-s3-list-bucket.patch
@@ -0,0 +1,30 @@
+commit 983634ea6b81910529596c262644eacfa2c2c4f9
+Author: Shea Levy <shea@shealevy.com>
+Date:   Wed Sep 4 16:16:12 2013 -0400
+
+    Fix LS_BUCKET
+    
+    GET foo.s3.amazonaws.com/ and GET s3.amazonaws.com/foo should result in
+    an LS_BUCKET request, but under the previous logic it would result in a
+    LIST_BUCKETS request. GET s3.amazonaws.com/ still results in a
+    LIST_BUCKETS request due to the 'if path == "/" and s_req.is_path_style'
+    conditional.
+    
+    Signed-off-by: Shea Levy <shea@shealevy.com>
+
+diff --git a/lib/fakes3/server.rb b/lib/fakes3/server.rb
+index 6958151..36d9cad 100644
+--- a/lib/fakes3/server.rb
++++ b/lib/fakes3/server.rb
+@@ -213,10 +213,7 @@ module FakeS3
+           elems = path.split("/")
+         end
+ 
+-        if elems.size == 0
+-          # List buckets
+-          s_req.type = Request::LIST_BUCKETS
+-        elsif elems.size == 1
++        if elems.size < 2
+           s_req.type = Request::LS_BUCKET
+           s_req.query = query
+         else