mirror of
https://github.com/foss42/apidash.git
synced 2025-06-21 23:00:44 +08:00
Fixes #415
This commit is contained in:
@ -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 {
|
||||||
|
Reference in New Issue
Block a user