postJson method

Future<Map<String, dynamic>> postJson(
  1. String endpoint,
  2. Map<String, dynamic> data
)

Make a POST request and return JSON response

Implementation

Future<Map<String, dynamic>> postJson(
  String endpoint,
  Map<String, dynamic> data,
) async {
  try {
    logger.fine('Ollama request payload: ${jsonEncode(data)}');
    final response = await dio.post(endpoint, data: data);

    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;
  }
}