atmob_stream_api.c.dart 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. r'Content-Type': 'application/json',
  20. r'Accept': 'text/event-stream'
  21. };
  22. final _data = <String, dynamic>{};
  23. _data.addAll(request.toJson());
  24. final _result =
  25. await _dio.fetch<ResponseBody>(_setStreamType<ResponseBody>(Options(
  26. method: 'POST',
  27. headers: _headers,
  28. extra: _extra,
  29. responseType: ResponseType.stream,
  30. )
  31. .compose(
  32. _dio.options,
  33. '/project/secretary/v1/chat/stream',
  34. queryParameters: queryParameters,
  35. data: _data,
  36. )
  37. .copyWith(
  38. baseUrl: _combineBaseUrls(
  39. _dio.options.baseUrl,
  40. baseUrl,
  41. ))));
  42. return _result.data!;
  43. }
  44. RequestOptions _setStreamType<T>(RequestOptions requestOptions) {
  45. if (T != dynamic &&
  46. !(requestOptions.responseType == ResponseType.bytes ||
  47. requestOptions.responseType == ResponseType.stream)) {
  48. if (T == String) {
  49. requestOptions.responseType = ResponseType.plain;
  50. } else {
  51. requestOptions.responseType = ResponseType.json;
  52. }
  53. }
  54. return requestOptions;
  55. }
  56. String _combineBaseUrls(
  57. String dioBaseUrl,
  58. String? baseUrl,
  59. ) {
  60. if (baseUrl == null || baseUrl.trim().isEmpty) {
  61. return dioBaseUrl;
  62. }
  63. final url = Uri.parse(baseUrl);
  64. if (url.isAbsolute) {
  65. return url.toString();
  66. }
  67. return Uri.parse(dioBaseUrl).resolveUri(url).toString();
  68. }
  69. }