about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-11-07 09:43:37 +0000
committerEric Wong <normalperson@yhbt.net>2011-11-07 09:43:37 +0000
commit6aed1bd0229cf31a3aeb9c08d86ae851c8d538c6 (patch)
tree08898b47c3e21e8576cb1c6e12ffa44fe882eb61 /lib
parenta919e84b911511ed641b3edcf7b77687abc07f44 (diff)
downloadmogilefs-client-6aed1bd0229cf31a3aeb9c08d86ae851c8d538c6.tar.gz
Using unknown sizes with StoreContent is now supported
(but you're probably better off using a pipe or just
and object that acts like an IO)
Diffstat (limited to 'lib')
-rw-r--r--lib/mogilefs/http_file.rb4
-rw-r--r--lib/mogilefs/mogilefs.rb2
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/mogilefs/http_file.rb b/lib/mogilefs/http_file.rb
index f07c48c..0ba895e 100644
--- a/lib/mogilefs/http_file.rb
+++ b/lib/mogilefs/http_file.rb
@@ -69,11 +69,13 @@ class MogileFS::HTTPFile < StringIO
 
     if @streaming_io
       file_size = @streaming_io.length
+      written = 0
       request_put(sock, uri, file_size) do |wr|
         @streaming_io.call(Proc.new do |data_to_write|
-          wr.write(data_to_write)
+          written += wr.write(data_to_write)
         end)
       end
+      file_size = written if file_size.nil?
     elsif @big_io
       if String === @big_io || @big_io.respond_to?(:to_path)
         File.open(@big_io) do |rd|
diff --git a/lib/mogilefs/mogilefs.rb b/lib/mogilefs/mogilefs.rb
index 8663f51..d506597 100644
--- a/lib/mogilefs/mogilefs.rb
+++ b/lib/mogilefs/mogilefs.rb
@@ -151,8 +151,6 @@ class MogileFS::MogileFS < MogileFS::Client
         mfp << content
       end
     end
-
-    content.length
   end
 
   ##