Issue #1442 - Part 10a - Unify body extraction in Fetch/Beacon/XHR. https://bugzilla.mozilla.org/show_bug.cgi?id=1329298 Pre-requisite for Part 11.

This commit is contained in:
Brian Smith 2023-09-27 22:58:24 -05:00 committed by roytam1
commit a4146b60a4
15 changed files with 439 additions and 447 deletions

View file

@ -224,22 +224,23 @@ Response::Constructor(const GlobalObject& aGlobal,
}
nsCOMPtr<nsIInputStream> bodyStream;
nsCString contentType;
nsCString contentTypeWithCharset;
uint64_t bodySize = 0;
aRv = ExtractByteStreamFromBody(aBody.Value().Value(),
getter_AddRefs(bodyStream),
contentType,
contentTypeWithCharset,
bodySize);
if (NS_WARN_IF(aRv.Failed())) {
return nullptr;
}
internalResponse->SetBody(bodyStream, bodySize);
if (!contentType.IsVoid() &&
if (!contentTypeWithCharset.IsVoid() &&
!internalResponse->Headers()->Has(NS_LITERAL_CSTRING("Content-Type"), aRv)) {
// Ignore Append() failing here.
ErrorResult error;
internalResponse->Headers()->Append(NS_LITERAL_CSTRING("Content-Type"), contentType, error);
internalResponse->Headers()->Append(NS_LITERAL_CSTRING("Content-Type"),
contentTypeWithCharset, error);
error.SuppressException();
}