Support responses which are binary files (#6201)

This commit is contained in:
adg-mh
2020-05-09 01:34:03 -05:00
committed by GitHub
parent d2b925769e
commit 2b1bc73f03
5 changed files with 29 additions and 21 deletions
@@ -80,6 +80,9 @@ class {{classname}} {
data: bodyData,
options: Options(
method: '{{httpMethod}}'.toUpperCase(),
{{#isResponseFile}}
responseType: ResponseType.bytes,
{{/isResponseFile}}
headers: headerParams,
extra: {
'secure': [{{#authMethods}} {"type": "{{type}}", "name": "{{name}}"{{#isApiKey}}, "keyName": "{{keyParamName}}", "where": "{{#isKeyInQuery}}query{{/isKeyInQuery}}{{#isKeyInHeader}}header{{/isKeyInHeader}}"{{/isApiKey}} }{{#hasMore}}, {{/hasMore}}{{/authMethods}}],
@@ -89,15 +92,20 @@ class {{classname}} {
cancelToken: cancelToken,
){{#returnType}}.then((response) {
{{#isListContainer}}
{{#isResponseFile}}
var data = response.data;
{{/isResponseFile}}
{{^isResponseFile}}
{{#isListContainer}}
final FullType type = const FullType(BuiltList, const [const FullType({{returnBaseType}})]);
BuiltList<{{returnBaseType}}> dataList = _serializers.deserialize(response.data is String ? jsonDecode(response.data) : response.data, specifiedType: type);
var data = dataList.toList();
{{/isListContainer}}
{{^isListContainer}}
var serializer = _serializers.serializerForType({{{returnType}}});
var data = _serializers.deserializeWith<{{{returnType}}}>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
{{/isListContainer}}
{{/isListContainer}}
{{^isListContainer}}
var serializer = _serializers.serializerForType({{{returnType}}});
var data = _serializers.deserializeWith<{{{returnType}}}>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
{{/isListContainer}}
{{/isResponseFile}}
return Response<{{{returnType}}}>(
data: data,
@@ -1 +1 @@
4.3.1-SNAPSHOT
5.0.0-SNAPSHOT
@@ -217,8 +217,8 @@ class PetApi {
cancelToken: cancelToken,
).then((response) {
var serializer = _serializers.serializerForType(Pet);
var data = _serializers.deserializeWith<Pet>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
var serializer = _serializers.serializerForType(Pet);
var data = _serializers.deserializeWith<Pet>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
return Response<Pet>(
data: data,
@@ -345,8 +345,8 @@ class PetApi {
cancelToken: cancelToken,
).then((response) {
var serializer = _serializers.serializerForType(ApiResponse);
var data = _serializers.deserializeWith<ApiResponse>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
var serializer = _serializers.serializerForType(ApiResponse);
var data = _serializers.deserializeWith<ApiResponse>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
return Response<ApiResponse>(
data: data,
@@ -79,8 +79,8 @@ class StoreApi {
cancelToken: cancelToken,
).then((response) {
var serializer = _serializers.serializerForType(Map<String, int>);
var data = _serializers.deserializeWith<Map<String, int>>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
var serializer = _serializers.serializerForType(Map<String, int>);
var data = _serializers.deserializeWith<Map<String, int>>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
return Response<Map<String, int>>(
data: data,
@@ -126,8 +126,8 @@ class StoreApi {
cancelToken: cancelToken,
).then((response) {
var serializer = _serializers.serializerForType(Order);
var data = _serializers.deserializeWith<Order>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
var serializer = _serializers.serializerForType(Order);
var data = _serializers.deserializeWith<Order>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
return Response<Order>(
data: data,
@@ -176,8 +176,8 @@ class StoreApi {
cancelToken: cancelToken,
).then((response) {
var serializer = _serializers.serializerForType(Order);
var data = _serializers.deserializeWith<Order>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
var serializer = _serializers.serializerForType(Order);
var data = _serializers.deserializeWith<Order>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
return Response<Order>(
data: data,
@@ -189,8 +189,8 @@ class UserApi {
cancelToken: cancelToken,
).then((response) {
var serializer = _serializers.serializerForType(User);
var data = _serializers.deserializeWith<User>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
var serializer = _serializers.serializerForType(User);
var data = _serializers.deserializeWith<User>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
return Response<User>(
data: data,
@@ -238,8 +238,8 @@ class UserApi {
cancelToken: cancelToken,
).then((response) {
var serializer = _serializers.serializerForType(String);
var data = _serializers.deserializeWith<String>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
var serializer = _serializers.serializerForType(String);
var data = _serializers.deserializeWith<String>(serializer, response.data is String ? jsonDecode(response.data) : response.data);
return Response<String>(
data: data,