sendRequest method

  1. @override
Future<ApiResponse> sendRequest({
  1. required String apiKey,
  2. required Map<String, dynamic> requestBody,
})
override

Send API request using Firebase configuration

Implementation

@override
Future<ApiResponse> sendRequest({
  required String apiKey,
  required Map<String, dynamic> requestBody,
}) async {
  try {
    FinanceSdkLogger.info('Sending request for API key: $apiKey');

    // Auto-initialize if not already initialized
    if (!_firebaseService.isInitialized) {
      FinanceSdkLogger.info('SDK not initialized. Initializing now...');
      try {
        await initialize();
      } catch (e) {
        return ApiResponse.error('SDK initialization failed: ${e.toString()}');
      }
    }

    return await _httpService.sendRequest(
      apiKey: apiKey,
      requestBody: requestBody,
    );
  } catch (e, stackTrace) {
    FinanceSdkLogger.error('Failed to send request', e, stackTrace);
    return ApiResponse.error('Failed to send request: ${e.toString()}');
  }
}