diff --git a/lib/matrix_api_lite.dart b/lib/matrix_api_lite.dart index 4dcfbf1f..0a028ca3 100644 --- a/lib/matrix_api_lite.dart +++ b/lib/matrix_api_lite.dart @@ -50,7 +50,6 @@ export 'matrix_api_lite/model/events/room_key_request_content.dart'; export 'matrix_api_lite/model/events/secret_storage_default_key_content.dart'; export 'matrix_api_lite/model/events/secret_storage_key_content.dart'; export 'matrix_api_lite/model/events/tombstone_content.dart'; -export 'matrix_api_lite/model/matrix_connection_exception.dart'; export 'matrix_api_lite/model/matrix_event.dart'; export 'matrix_api_lite/model/matrix_exception.dart'; export 'matrix_api_lite/model/matrix_keys.dart'; diff --git a/lib/matrix_api_lite/matrix_api.dart b/lib/matrix_api_lite/matrix_api.dart index 9a73b6bc..2cbaacaa 100644 --- a/lib/matrix_api_lite/matrix_api.dart +++ b/lib/matrix_api_lite/matrix_api.dart @@ -112,39 +112,37 @@ class MatrixApi extends Api { late http.Response resp; Map? jsonResp = {}; - try { - switch (type) { - case RequestType.GET: - resp = await httpClient.get(url, headers: headers); - break; - case RequestType.POST: - resp = await httpClient.post(url, body: json, headers: headers); - break; - case RequestType.PUT: - resp = await httpClient.put(url, body: json, headers: headers); - break; - case RequestType.DELETE: - resp = await httpClient.delete(url, headers: headers); - break; - } - var respBody = resp.body; - try { - respBody = utf8.decode(resp.bodyBytes); - } catch (_) { - // No-OP - } - if (resp.statusCode >= 500 && resp.statusCode < 600) { - throw Exception(respBody); - } - var jsonString = String.fromCharCodes(respBody.runes); - if (jsonString.startsWith('[') && jsonString.endsWith(']')) { - jsonString = '{"chunk":$jsonString}'; - } - jsonResp = jsonDecode(jsonString) - as Map?; // May throw FormatException - } catch (e, s) { - throw MatrixConnectionException(e, s); + + switch (type) { + case RequestType.GET: + resp = await httpClient.get(url, headers: headers); + break; + case RequestType.POST: + resp = await httpClient.post(url, body: json, headers: headers); + break; + case RequestType.PUT: + resp = await httpClient.put(url, body: json, headers: headers); + break; + case RequestType.DELETE: + resp = await httpClient.delete(url, headers: headers); + break; } + var respBody = resp.body; + try { + respBody = utf8.decode(resp.bodyBytes); + } catch (_) { + // No-OP + } + if (resp.statusCode >= 500 && resp.statusCode < 600) { + throw Exception(respBody); + } + var jsonString = String.fromCharCodes(respBody.runes); + if (jsonString.startsWith('[') && jsonString.endsWith(']')) { + jsonString = '{"chunk":$jsonString}'; + } + jsonResp = jsonDecode(jsonString) + as Map?; // May throw FormatException + if (resp.statusCode >= 400 && resp.statusCode < 500) { throw MatrixException(resp); } diff --git a/lib/matrix_api_lite/model/matrix_connection_exception.dart b/lib/matrix_api_lite/model/matrix_connection_exception.dart deleted file mode 100644 index 97194f64..00000000 --- a/lib/matrix_api_lite/model/matrix_connection_exception.dart +++ /dev/null @@ -1,32 +0,0 @@ -/* MIT License -* -* Copyright (C) 2019, 2020, 2021 Famedly GmbH -* -* Permission is hereby granted, free of charge, to any person obtaining a copy -* of this software and associated documentation files (the "Software"), to deal -* in the Software without restriction, including without limitation the rights -* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -* copies of the Software, and to permit persons to whom the Software is -* furnished to do so, subject to the following conditions: -* -* The above copyright notice and this permission notice shall be included in all -* copies or substantial portions of the Software. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. -*/ - -class MatrixConnectionException implements Exception { - final dynamic original; - final StackTrace stackTrace; - - MatrixConnectionException(this.original, this.stackTrace); - - @override - String toString() => original.toString(); -}