atmob_stream_api.c.dart 2.0 KB

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