storage manager: fix b2 storage bugs.
* B2 doesn't allow the path to start with a '/' character. * When storing the file, we have to rewind the file pointer to make sure we get the whole file.
This commit is contained in:
@@ -9,19 +9,24 @@ class StorageManager::Cloud < StorageManager
|
||||
end
|
||||
|
||||
def store(io, path)
|
||||
io.rewind # XXX caller should be responsible for this.
|
||||
data = io.read
|
||||
client.put_object(bucket, path, data)
|
||||
client.put_object(bucket, key(path), data)
|
||||
end
|
||||
|
||||
def delete(path)
|
||||
client.delete_object(bucket, path)
|
||||
client.delete_object(bucket, key(path))
|
||||
end
|
||||
|
||||
def open(path)
|
||||
file = Tempfile.new(binmode: true)
|
||||
response = client.get_object(bucket, path)
|
||||
response = client.get_object(bucket, key(path))
|
||||
file.write(response.body)
|
||||
file.rewind
|
||||
file
|
||||
end
|
||||
|
||||
def key(path)
|
||||
path.delete_prefix("/")
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user