From 5ea63b1f1f77657517acffd39171a22b0c8773e7 Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Fri, 8 Jan 2021 11:16:14 +0100 Subject: [PATCH] fix: Set Content-Length on upload --- CHANGELOG.md | 4 ++++ lib/src/matrix_api.dart | 4 +++- pubspec.yaml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7853dd49..af3d941e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.3 + +- Set Content-Length on upload + ## 0.1.2 - Add more encryption and decryption content parsing diff --git a/lib/src/matrix_api.dart b/lib/src/matrix_api.dart index 6c63a363..f3424cf6 100644 --- a/lib/src/matrix_api.dart +++ b/lib/src/matrix_api.dart @@ -1295,16 +1295,18 @@ class MatrixApi { Future upload(Uint8List file, String fileName, {String contentType}) async { fileName = fileName.split('/').last; + final length = file.length; var headers = {}; headers['Authorization'] = 'Bearer $accessToken'; headers['Content-Type'] = contentType ?? lookupMimeType(fileName, headerBytes: file); + headers['Content-Length'] = length.toString(); fileName = Uri.encodeQueryComponent(fileName); final url = '${homeserver.toString()}/_matrix/media/r0/upload?filename=$fileName'; final streamedRequest = http.StreamedRequest('POST', Uri.parse(url)) ..headers.addAll(headers); - streamedRequest.contentLength = await file.length; + streamedRequest.contentLength = length; streamedRequest.sink.add(file); streamedRequest.sink.close(); var streamedResponse = _testMode ? null : await streamedRequest.send(); diff --git a/pubspec.yaml b/pubspec.yaml index e9f09605..fcc6c15d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: matrix_api_lite description: Dead simple data model for the matrix.org client-server API. -version: 0.1.2 +version: 0.1.3 homepage: https://famedly.com environment: