This commit is contained in:
Ashita Prasad
2024-09-17 02:30:58 +05:30
parent abdd397cb7
commit 28a22218fc
3 changed files with 42 additions and 36 deletions

@ -101,7 +101,9 @@ String stripUrlParams(String url) {
(List<ResponseBodyView>, String?) getResponseBodyViewOptions( (List<ResponseBodyView>, String?) getResponseBodyViewOptions(
MediaType? mediaType) { MediaType? mediaType) {
if (mediaType != null) { if (mediaType == null) {
return (kRawBodyViewOptions, null);
}
var type = mediaType.type; var type = mediaType.type;
var subtype = mediaType.subtype; var subtype = mediaType.subtype;
if (kResponseBodyViewOptions.containsKey(type)) { if (kResponseBodyViewOptions.containsKey(type)) {
@ -128,7 +130,6 @@ String stripUrlParams(String url) {
subtype subtype
); );
} }
}
return (kNoBodyViewOptions, null); return (kNoBodyViewOptions, null);
} }

@ -345,12 +345,14 @@ class ResponseBody extends StatelessWidget {
); );
} }
var mediaType = responseModel.mediaType; final mediaType =
if (mediaType == null) { responseModel.mediaType ?? MediaType(kTypeText, kSubTypePlain);
return ErrorMessage( // Fix #415: Treat null Content-type as plain text instead of Error message
message: // if (mediaType == null) {
'$kMsgUnknowContentType - ${responseModel.contentType}. $kUnexpectedRaiseIssue'); // return ErrorMessage(
} // message:
// '$kMsgUnknowContentType - ${responseModel.contentType}. $kUnexpectedRaiseIssue');
// }
var responseBodyView = getResponseBodyViewOptions(mediaType); var responseBodyView = getResponseBodyViewOptions(mediaType);
var options = responseBodyView.$1; var options = responseBodyView.$1;

@ -214,8 +214,13 @@ void main() {
findsOneWidget); findsOneWidget);
}); });
testWidgets('Testing Response Body, no mediaType', (tester) async { testWidgets(
var responseModelNoHeaders = responseModel.copyWith(headers: null); 'Testing Response Body, no mediaType; shoud be default plaintext preview',
(tester) async {
var responseModelNoHeaders = responseModel.copyWith(
headers: null,
formattedBody: null,
);
var requestModelNoResponseHeaders = var requestModelNoResponseHeaders =
testRequestModel.copyWith(httpResponseModel: responseModelNoHeaders); testRequestModel.copyWith(httpResponseModel: responseModelNoHeaders);
@ -230,10 +235,8 @@ void main() {
), ),
); );
expect( expect(find.text("Raw"), findsOneWidget);
find.text( expect(find.text('{"data":"world"}'), findsOneWidget);
'Unknown Response Content-Type - ${responseModelNoHeaders.contentType}. $kUnexpectedRaiseIssue'),
findsOneWidget);
}); });
testWidgets('Testing Response Body for No body view', (tester) async { testWidgets('Testing Response Body for No body view', (tester) async {