atmob_file_api.c.dart 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // GENERATED CODE - DO NOT MODIFY BY HAND
  2. part of 'atmob_file_api.dart';
  3. // **************************************************************************
  4. // RetrofitGenerator
  5. // **************************************************************************
  6. // ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers
  7. class _AtmobFileApi implements AtmobFileApi {
  8. _AtmobFileApi(
  9. this._dio, {
  10. this.baseUrl,
  11. });
  12. final Dio _dio;
  13. String? baseUrl;
  14. @override
  15. Future<BaseResponse<TalkGenerateResponse>> uploadTalkFile(
  16. Map<String, dynamic> body,
  17. {ProgressCallback? onSendProgress}) async {
  18. const _extra = <String, dynamic>{};
  19. final queryParameters = <String, dynamic>{};
  20. final _headers = <String, dynamic>{};
  21. final _data = FormData.fromMap(body);
  22. final _result = await _dio.fetch<Map<String, dynamic>>(
  23. _setStreamType<BaseResponse<TalkGenerateResponse>>(Options(
  24. method: 'POST',
  25. headers: _headers,
  26. extra: _extra,
  27. contentType: 'multipart/form-data',
  28. )
  29. .compose(
  30. _dio.options,
  31. '/project/secretary/v1/talk/generate',
  32. queryParameters: queryParameters,
  33. data: _data,
  34. )
  35. .copyWith(
  36. baseUrl: _combineBaseUrls(
  37. _dio.options.baseUrl,
  38. baseUrl,
  39. ))));
  40. final value = BaseResponse<TalkGenerateResponse>.fromJson(
  41. _result.data!,
  42. (json) => TalkGenerateResponse.fromJson(json as Map<String, dynamic>),
  43. );
  44. return value;
  45. }
  46. RequestOptions _setStreamType<T>(RequestOptions requestOptions) {
  47. if (T != dynamic &&
  48. !(requestOptions.responseType == ResponseType.bytes ||
  49. requestOptions.responseType == ResponseType.stream)) {
  50. if (T == String) {
  51. requestOptions.responseType = ResponseType.plain;
  52. } else {
  53. requestOptions.responseType = ResponseType.json;
  54. }
  55. }
  56. return requestOptions;
  57. }
  58. String _combineBaseUrls(
  59. String dioBaseUrl,
  60. String? baseUrl,
  61. ) {
  62. if (baseUrl == null || baseUrl.trim().isEmpty) {
  63. return dioBaseUrl;
  64. }
  65. final url = Uri.parse(baseUrl);
  66. if (url.isAbsolute) {
  67. return url.toString();
  68. }
  69. return Uri.parse(dioBaseUrl).resolveUri(url).toString();
  70. }
  71. }