requestUploadUrl method
Implementation
Future<UploadUrlResult> requestUploadUrl({
required Dio dio,
required String packageName,
required String version,
required int fileSize,
required String projectType,
String? flavor,
}) async {
try {
final resp = await dio.post(
Endpoints.uploadUrl,
data: {
'packageName': packageName,
'version': version,
'size': fileSize,
},
);
final data = resp.data['data'] as Map<String, dynamic>;
return UploadUrlResult(
uploadUrl: data['uploadUrl'] as String,
storagePath: data['storagePath'] as String,
);
} on DioException catch (e) {
CliAnalytics.ins.logUploadFailed(
errorCode: 'upload_url_error',
projectType: projectType,
flavor: flavor,
);
_handleUploadUrlError(e);
throw StateError('unreachable'); // _handleUploadUrlError always exits
}
}