about summary refs log tree commit homepage
path: root/lib/mogilefs/http_reader.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mogilefs/http_reader.rb')
-rw-r--r--lib/mogilefs/http_reader.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/mogilefs/http_reader.rb b/lib/mogilefs/http_reader.rb
index d7a36e6..c338e70 100644
--- a/lib/mogilefs/http_reader.rb
+++ b/lib/mogilefs/http_reader.rb
@@ -19,6 +19,13 @@ class MogileFS::HTTPReader < MogileFS::Socket
           "read=#{buf.size} bytes, expected=#@content_length from #@uri", []
   end
 
+  def stream_to(dest)
+    rv = MogileFS::X.copy_stream(self, dest)
+    return rv if rv == @content_length
+    raise MogileFS::SizeMismatchError,
+          "read=#{rv} bytes, expected=#@content_length from #@uri", []
+  end
+
   def self.first(paths, timeout, count = nil, offset = nil)
     errors = nil
     if offset || count