summaryrefslogtreecommitdiff
path: root/src/leap/soledad/server/_streaming_resource.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/soledad/server/_streaming_resource.py')
-rw-r--r--src/leap/soledad/server/_streaming_resource.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/leap/soledad/server/_streaming_resource.py b/src/leap/soledad/server/_streaming_resource.py
index 18e67401..05f2bab6 100644
--- a/src/leap/soledad/server/_streaming_resource.py
+++ b/src/leap/soledad/server/_streaming_resource.py
@@ -35,7 +35,7 @@ __all__ = ['StreamingResource']
logger = getLogger(__name__)
-SIZE_PACKER = struct.Struct("I")
+SIZE_PACKER = struct.Struct('<I')
class StreamingResource(Resource):
@@ -64,7 +64,12 @@ class StreamingResource(Resource):
size = db.get_blob_size(user, blob_id, namespace)
request.write(SIZE_PACKER.pack(size))
with open(path, 'rb') as blob_fd:
- request.content.write(blob_fd.read())
+ # TODO: use a producer
+ blob_fd.seek(-16, 2)
+ request.write(blob_fd.read()) # sends tag
+ blob_fd.seek(0)
+ request.write(' ')
+ request.write(blob_fd.read())
request.finish()
return NOT_DONE_YET