genai: Minor Refactoring and Corrections

This commit is contained in:
Manas Hejmadi
2025-08-11 15:10:13 +05:30
parent eb852df646
commit 30075a6d95
7 changed files with 60 additions and 70 deletions

View File

@@ -18,17 +18,16 @@ class ResponseBody extends StatelessWidget {
@override
Widget build(BuildContext context) {
HttpResponseModel? httpResponseModel =
selectedRequestModel?.httpResponseModel;
final responseModel = selectedRequestModel?.httpResponseModel;
if (httpResponseModel == null) {
if (responseModel == null) {
return const ErrorMessage(
message: '$kNullResponseModelError $kUnexpectedRaiseIssue');
}
final isSSE = httpResponseModel.sseOutput?.isNotEmpty ?? false;
var body = httpResponseModel.body;
var formattedBody = httpResponseModel.formattedBody;
final isSSE = responseModel.sseOutput?.isNotEmpty ?? false;
var body = responseModel.body;
var formattedBody = responseModel.formattedBody;
if (body == null) {
return const ErrorMessage(
@@ -42,11 +41,11 @@ class ResponseBody extends StatelessWidget {
);
}
if (isSSE) {
body = httpResponseModel.sseOutput!.join();
body = responseModel.sseOutput!.join();
}
final mediaType =
httpResponseModel.mediaType ?? MediaType(kTypeText, kSubTypePlain);
responseModel.mediaType ?? MediaType(kTypeText, kSubTypePlain);
// Fix #415: Treat null Content-type as plain text instead of Error message
// if (mediaType == null) {
@@ -66,14 +65,14 @@ class ResponseBody extends StatelessWidget {
options.remove(ResponseBodyView.code);
}
if (httpResponseModel.sseOutput?.isNotEmpty ?? false) {
if (responseModel.sseOutput?.isNotEmpty ?? false) {
return ResponseBodySuccess(
key: Key("${selectedRequestModel!.id}-response"),
mediaType: MediaType('text', 'event-stream'),
options: [ResponseBodyView.sse, ResponseBodyView.raw],
bytes: utf8.encode((httpResponseModel.sseOutput!).toString()),
body: jsonEncode(httpResponseModel.sseOutput!),
formattedBody: httpResponseModel.sseOutput!.join('\n'),
bytes: utf8.encode((responseModel.sseOutput!).toString()),
body: jsonEncode(responseModel.sseOutput!),
formattedBody: responseModel.sseOutput!.join('\n'),
selectedModel: selectedRequestModel?.aiRequestModel?.model,
);
}
@@ -82,7 +81,7 @@ class ResponseBody extends StatelessWidget {
key: Key("${selectedRequestModel!.id}-response"),
mediaType: mediaType,
options: options,
bytes: httpResponseModel.bodyBytes!,
bytes: responseModel.bodyBytes!,
body: body,
formattedBody: formattedBody,
highlightLanguage: highlightLanguage,

View File

@@ -18,7 +18,6 @@ class ResponseBodySuccess extends StatefulWidget {
required this.options,
required this.bytes,
this.formattedBody,
// this.sseOutput,
this.highlightLanguage,
this.selectedModel,
});

View File

@@ -1,12 +1,7 @@
import 'dart:convert';
import 'package:apidash/models/request_model.dart';
import 'package:apidash/providers/collection_providers.dart';
import 'package:apidash/providers/history_providers.dart';
import 'package:apidash_design_system/apidash_design_system.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:genai/genai.dart';
import 'package:genai/models/ai_request_model.dart';
class SSEDisplay extends StatefulWidget {
final LLMModel? selectedLLModel;