From 7007606e2fc10a836bb52ef3eb40db8b15f3c4ac Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Tue, 25 Jul 2017 05:51:37 -0300 Subject: [bug] separate preamble from content on incoming resource --- src/leap/soledad/server/_incoming.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/leap/soledad/server/_incoming.py b/src/leap/soledad/server/_incoming.py index 1d34f4f3..5dbbb627 100644 --- a/src/leap/soledad/server/_incoming.py +++ b/src/leap/soledad/server/_incoming.py @@ -18,6 +18,7 @@ A twisted resource that saves externally delivered documents into user's db. """ import json +import base64 from twisted.web.server import NOT_DONE_YET from twisted.web.resource import Resource from twisted.web.test.test_web import DummyRequest @@ -66,7 +67,7 @@ class IncomingResource(Resource): else: raw_content = request.content.read() preamble = self.formatter.preamble(raw_content, doc_id) - request.content = BytesIO(preamble + raw_content) + request.content = BytesIO(preamble + ' ' + raw_content) d = db.write_blob(uuid, doc_id, request, namespace='MX') # FIXME: We really need to decouple request handling from the # backend! This is very ugly, but will change when this refactor @@ -107,5 +108,6 @@ class IncomingFormatter(object): scheme = preamble.ENC_SCHEME.external method = preamble.ENC_METHOD.pgp size = len(raw_content) - return preamble.Preamble(doc_id, rev, scheme, method, - content_size=size).encode() + raw_preamble = preamble.Preamble(doc_id, rev, scheme, method, + content_size=size).encode() + return base64.urlsafe_b64encode(raw_preamble) -- cgit v1.2.3