get method

Future<Map<String, dynamic>> get(
  1. String endpoint
)

Make a GET request

Implementation

Future<Map<String, dynamic>> get(String endpoint) async {
  if (config.apiKey.isEmpty) {
    throw const AuthError('Missing OpenAI API key');
  }

  try {
    if (logger.isLoggable(Level.FINE)) {
      logger.fine('OpenAI request: GET /$endpoint');
      logger.fine('OpenAI request headers: ${dio.options.headers}');
    }

    final response = await dio.get(endpoint);

    if (logger.isLoggable(Level.FINE)) {
      logger.fine('OpenAI HTTP status: ${response.statusCode}');
    }

    if (response.statusCode != 200) {
      _handleErrorResponse(response, endpoint);
    }

    return response.data as Map<String, dynamic>;
  } on DioException catch (e) {
    throw handleDioError(e);
  } catch (e) {
    throw GenericError('Unexpected error: $e');
  }
}