diff --git a/.vscode/settings.json b/.vscode/settings.json
index f6e4c987d281505e21a3d8dc57e3751f7e57786c..aa1deb17fe6918c6dedecca5b31d38463fbc0dcc 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,9 +1,15 @@
 {
     "python.formatting.provider": "autopep8",
-    "python.pythonPath": "venv/bin/python",
+    "python.defaultInterpreterPath": "venv/bin/python",
     "python.linting.enabled": true,
     "python.linting.banditEnabled": true,
     "python.linting.pylintEnabled": true,
-    "python.linting.pylintPath": "venv/bin/pylint"
+    "python.linting.pylintPath": "venv/bin/pylint",
     "python.linting.mypyEnabled": false,
+    "python.testing.pytestArgs": [
+        "tests",
+        "--integration",
+    ],
+    "python.testing.unittestEnabled": false,
+    "python.testing.pytestEnabled": true,
 }
diff --git a/src/tgclients/crud.py b/src/tgclients/crud.py
index c375a1be67ef6052b1054e9e5bfca2872f11e585..b3e499e9e55bafb5691689a441adb7e5c98d632c 100644
--- a/src/tgclients/crud.py
+++ b/src/tgclients/crud.py
@@ -63,7 +63,7 @@ class TextgridCRUD:
         params = {'sessionId': sid}
         response = requests.post(
             self._url + '/' + textgrid_uri + '/update', params=params, data=encoder,
-            headers={'Content-Type': encoder.content_type})
+            headers={'Content-Type': encoder.content_type, 'Accept-Encoding': 'identity'})
         return response
 
     def delete_resource(self, sid: str, textgrid_uri: str) -> Response:
diff --git a/tests/integration/test_crud_integration.py b/tests/integration/test_crud_integration.py
index 7137546ffe056ff0d31a4629442d275c338ddda6..d8037d3d4c65fd9c4d4bd23cbe4bd7fdd301f4bf 100644
--- a/tests/integration/test_crud_integration.py
+++ b/tests/integration/test_crud_integration.py
@@ -1,3 +1,6 @@
+from ctypes import sizeof
+import io
+import logging
 import os
 import time
 from datetime import datetime
@@ -5,6 +8,8 @@ from datetime import datetime
 import pytest
 from tgclients.metadata import TextgridMetadata
 
+logger = logging.getLogger(__name__)
+
 FIXTURE_PATH = './tests/fixtures/'
 
 
@@ -111,8 +116,20 @@ class TestTextgridCrudIntegration:
         umetadata = str(crud_nonpublic.read_metadata(textgrid_uri, sid).content, 'utf-8')
         ufile_loc =  FIXTURE_PATH + 'eulen300dpi.png'
         usize = os.path.getsize(ufile_loc)
-        with open(ufile_loc, 'rb') as udata:
-            res = crud_nonpublic.update_resource(sid, textgrid_uri, udata, umetadata)
+
+        stream = io.BytesIO()
+        logger.info('stream on init: %s' , stream.getbuffer().nbytes)
+
+        res = crud_nonpublic.update_resource(sid, textgrid_uri, stream, umetadata)
+
+        with open(ufile_loc, 'rb') as udata_stream:
+            if getattr(stream, 'writelines', None):
+                stream.writelines(udata_stream)
+            else:
+                for data in udata_stream:
+                    stream.write(data)
+
+        logger.info('stream after write: %s' , stream.getbuffer().nbytes)
 
         assert res.status_code == 200
         assert res.headers['Location'].startswith('textgrid:')