getJson method

Future<Map<String, dynamic>> getJson(
  1. String endpoint, {
  2. CancelToken? cancelToken,
})

Make a GET request and return JSON response

Implementation

Future<Map<String, dynamic>> getJson(
  String endpoint, {
  CancelToken? cancelToken,
}) async {
  try {
    logger.fine('Ollama request: GET $endpoint');
    final response = await dio.get(
      endpoint,
      cancelToken: cancelToken,
    );

    logger.fine('Ollama HTTP status: ${response.statusCode}');

    if (response.statusCode != 200) {
      throw DioException(
        requestOptions: response.requestOptions,
        response: response,
        message: 'Ollama API returned status ${response.statusCode}',
      );
    }

    return response.data as Map<String, dynamic>;
  } on DioException catch (e) {
    logger.severe('HTTP request failed: ${e.message}');
    rethrow;
  }
}