import 'dart:async'; import 'dart:convert'; import 'package:didvan/services/storage/storage.dart'; import 'package:http/http.dart' as http; import 'package:http/http.dart'; class AiApiService { static const String baseUrl = 'https://api.didvan.app/ai'; static final _client = http.Client(); static Future initial( {required final String url, required final String message, final int? chatId}) async { final headers = { "Content-Type": "application/json", "Authorization": "Bearer ${await StorageService.getValue(key: 'token')}" }; var request = http.Request('POST', Uri.parse(baseUrl + url)) ..headers.addAll(headers); var body = {'prompt': message}; if (chatId != null) { body.addAll({'chatId': chatId.toString()}); } request.body = jsonEncode(body); return request; } static Future getResponse(Request request) async { final res = _client.send(request).timeout( const Duration(seconds: 15), ); final http.StreamedResponse response = await res; return response.stream; } }