diff --git a/packages/neon_framework/lib/src/utils/request_manager.dart b/packages/neon_framework/lib/src/utils/request_manager.dart index 7a30d8af..b4d0e6a8 100644 --- a/packages/neon_framework/lib/src/utils/request_manager.dart +++ b/packages/neon_framework/lib/src/utils/request_manager.dart @@ -1,7 +1,6 @@ import 'dart:async'; import 'dart:convert'; -import 'package:built_value/serializer.dart'; import 'package:flutter/foundation.dart'; import 'package:http/http.dart' as http; import 'package:intl/intl.dart'; @@ -122,37 +121,28 @@ class RequestManager { required Account account, required String cacheKey, required AsyncValueGetter getCacheParameters, - required DynamiteRawResponse rawResponse, + required AsyncValueGetter rawResponse, required UnwrapCallback? unwrap, required BehaviorSubject> subject, bool disableTimeout = false, }) async => - wrap>( + wrap( account: account, cacheKey: cacheKey, subject: subject, - request: () async { - await rawResponse.future; - return rawResponse; - }, + request: rawResponse, unwrap: (rawResponse) { - var data = rawResponse.response.body; + var data = rawResponse.bodyBytes; if (unwrap != null) { data = unwrap(data); } return data; }, - serialize: (rawResponse) => base64.encode(rawResponse.response.body), - deserialize: (data) => DynamiteRawResponse>.fromJson( - { - 'statusCode': 200, - 'body': base64.decode(data), - 'headers': {}, - }, - bodyType: const FullType(Uint8List), - headersType: const FullType(Map, [FullType(String), FullType(String)]), - serializers: Serializers(), + serialize: (response) => base64.encode(response.bodyBytes), + deserialize: (data) => http.Response.bytes( + base64.decode(data), + 200, ), getCacheParameters: getCacheParameters, disableTimeout: disableTimeout, @@ -179,17 +169,16 @@ class RequestManager { return CacheParameters.parseHeaders(response.headers); }, - rawResponse: DynamiteRawResponse>( - response: account.client.executeRawRequest( + rawResponse: () async { + final response = await account.client.executeRawRequest( 'GET', uri, headers: headers, validStatuses: const {200, 201}, - ), - bodyType: const FullType(Uint8List), - headersType: const FullType(Map, [FullType(String), FullType(String)]), - serializers: Serializers(), - ), + ); + + return http.Response.fromStream(response); + }, unwrap: unwrap, subject: subject, );