Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dart-dio][client] Allow passing progress callbacks through client methods. #6261

Merged
merged 1 commit into from
May 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class {{classname}} {
/// {{summary}}
///
/// {{notes}}
Future<Response{{#returnType}}<{{{returnType}}}>{{/returnType}}>{{nickname}}({{#allParams}}{{#required}}{{{dataType}}} {{paramName}},{{/required}}{{/allParams}}{ {{#allParams}}{{^required}}{{{dataType}}} {{paramName}},{{/required}}{{/allParams}}CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response{{#returnType}}<{{{returnType}}}>{{/returnType}}>{{nickname}}({{#allParams}}{{#required}}{{{dataType}}} {{paramName}},{{/required}}{{/allParams}}{ {{#allParams}}{{^required}}{{{dataType}}} {{paramName}},{{/required}}{{/allParams}}CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "{{{path}}}"{{#pathParams}}.replaceAll("{" r'{{baseName}}' "}", {{{paramName}}}.toString()){{/pathParams}};

Expand Down Expand Up @@ -90,6 +90,8 @@ class {{classname}} {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
){{#returnType}}.then((response) {

{{#isResponseFile}}
Expand Down
32 changes: 24 additions & 8 deletions samples/client/petstore/dart-dio/lib/api/pet_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class PetApi {
/// Add a new pet to the store
///
///
Future<Response>addPet(Pet body,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>addPet(Pet body,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/pet";

Expand Down Expand Up @@ -50,12 +50,14 @@ class PetApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// Deletes a pet
///
///
Future<Response>deletePet(int petId,{ String apiKey,CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>deletePet(int petId,{ String apiKey,CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/pet/{petId}".replaceAll("{" r'petId' "}", petId.toString());

Expand Down Expand Up @@ -84,12 +86,14 @@ class PetApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// Finds Pets by status
///
/// Multiple status values can be provided with comma separated strings
Future<Response<List<Pet>>>findPetsByStatus(List<String> status,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response<List<Pet>>>findPetsByStatus(List<String> status,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/pet/findByStatus";

Expand Down Expand Up @@ -118,6 +122,8 @@ class PetApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
).then((response) {

final FullType type = const FullType(BuiltList, const [const FullType(Pet)]);
Expand All @@ -138,7 +144,7 @@ class PetApi {
/// Finds Pets by tags
///
/// Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
Future<Response<List<Pet>>>findPetsByTags(List<String> tags,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response<List<Pet>>>findPetsByTags(List<String> tags,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/pet/findByTags";

Expand Down Expand Up @@ -167,6 +173,8 @@ class PetApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
).then((response) {

final FullType type = const FullType(BuiltList, const [const FullType(Pet)]);
Expand All @@ -187,7 +195,7 @@ class PetApi {
/// Find pet by ID
///
/// Returns a single pet
Future<Response<Pet>>getPetById(int petId,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response<Pet>>getPetById(int petId,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/pet/{petId}".replaceAll("{" r'petId' "}", petId.toString());

Expand Down Expand Up @@ -215,6 +223,8 @@ class PetApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
).then((response) {

var serializer = _serializers.serializerForType(Pet);
Expand All @@ -234,7 +244,7 @@ class PetApi {
/// Update an existing pet
///
///
Future<Response>updatePet(Pet body,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>updatePet(Pet body,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/pet";

Expand Down Expand Up @@ -265,12 +275,14 @@ class PetApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// Updates a pet in the store with form data
///
///
Future<Response>updatePetWithForm(int petId,{ String name,String status,CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>updatePetWithForm(int petId,{ String name,String status,CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/pet/{petId}".replaceAll("{" r'petId' "}", petId.toString());

Expand Down Expand Up @@ -302,12 +314,14 @@ class PetApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// uploads an image
///
///
Future<Response<ApiResponse>>uploadFile(int petId,{ String additionalMetadata,Uint8List file,CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response<ApiResponse>>uploadFile(int petId,{ String additionalMetadata,Uint8List file,CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/pet/{petId}/uploadImage".replaceAll("{" r'petId' "}", petId.toString());

Expand Down Expand Up @@ -343,6 +357,8 @@ class PetApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
).then((response) {

var serializer = _serializers.serializerForType(ApiResponse);
Expand Down
16 changes: 12 additions & 4 deletions samples/client/petstore/dart-dio/lib/api/store_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class StoreApi {
/// Delete purchase order by ID
///
/// For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
Future<Response>deleteOrder(String orderId,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>deleteOrder(String orderId,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/store/order/{orderId}".replaceAll("{" r'orderId' "}", orderId.toString());

Expand Down Expand Up @@ -44,12 +44,14 @@ class StoreApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// Returns pet inventories by status
///
/// Returns a map of status codes to quantities
Future<Response<Map<String, int>>>getInventory({ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response<Map<String, int>>>getInventory({ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/store/inventory";

Expand Down Expand Up @@ -77,6 +79,8 @@ class StoreApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
).then((response) {

var serializer = _serializers.serializerForType(Map<String, int>);
Expand All @@ -96,7 +100,7 @@ class StoreApi {
/// Find purchase order by ID
///
/// For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
Future<Response<Order>>getOrderById(int orderId,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response<Order>>getOrderById(int orderId,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/store/order/{orderId}".replaceAll("{" r'orderId' "}", orderId.toString());

Expand Down Expand Up @@ -124,6 +128,8 @@ class StoreApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
).then((response) {

var serializer = _serializers.serializerForType(Order);
Expand All @@ -143,7 +149,7 @@ class StoreApi {
/// Place an order for a pet
///
///
Future<Response<Order>>placeOrder(Order body,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response<Order>>placeOrder(Order body,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/store/order";

Expand Down Expand Up @@ -174,6 +180,8 @@ class StoreApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
).then((response) {

var serializer = _serializers.serializerForType(Order);
Expand Down
32 changes: 24 additions & 8 deletions samples/client/petstore/dart-dio/lib/api/user_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class UserApi {
/// Create user
///
/// This can only be done by the logged in user.
Future<Response>createUser(User body,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>createUser(User body,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/user";

Expand Down Expand Up @@ -47,12 +47,14 @@ class UserApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// Creates list of users with given input array
///
///
Future<Response>createUsersWithArrayInput(List<User> body,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>createUsersWithArrayInput(List<User> body,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/user/createWithArray";

Expand Down Expand Up @@ -84,12 +86,14 @@ class UserApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// Creates list of users with given input array
///
///
Future<Response>createUsersWithListInput(List<User> body,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>createUsersWithListInput(List<User> body,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/user/createWithList";

Expand Down Expand Up @@ -121,12 +125,14 @@ class UserApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// Delete user
///
/// This can only be done by the logged in user.
Future<Response>deleteUser(String username,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>deleteUser(String username,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/user/{username}".replaceAll("{" r'username' "}", username.toString());

Expand Down Expand Up @@ -154,12 +160,14 @@ class UserApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// Get user by user name
///
///
Future<Response<User>>getUserByName(String username,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response<User>>getUserByName(String username,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/user/{username}".replaceAll("{" r'username' "}", username.toString());

Expand Down Expand Up @@ -187,6 +195,8 @@ class UserApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
).then((response) {

var serializer = _serializers.serializerForType(User);
Expand All @@ -206,7 +216,7 @@ class UserApi {
/// Logs user into the system
///
///
Future<Response<String>>loginUser(String username,String password,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response<String>>loginUser(String username,String password,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/user/login";

Expand Down Expand Up @@ -236,6 +246,8 @@ class UserApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
).then((response) {

var serializer = _serializers.serializerForType(String);
Expand All @@ -255,7 +267,7 @@ class UserApi {
/// Logs out current logged in user session
///
///
Future<Response>logoutUser({ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>logoutUser({ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/user/logout";

Expand Down Expand Up @@ -283,12 +295,14 @@ class UserApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
/// Updated user
///
/// This can only be done by the logged in user.
Future<Response>updateUser(String username,User body,{ CancelToken cancelToken, Map<String, String> headers,}) async {
Future<Response>updateUser(String username,User body,{ CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

String _path = "/user/{username}".replaceAll("{" r'username' "}", username.toString());

Expand Down Expand Up @@ -319,6 +333,8 @@ class UserApi {
contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json",
),
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
}
}