in functions_framework/lib/src/json_request_utils.dart [22:50]
MediaType mediaTypeFromRequest(Request request, {String? requiredMimeType}) {
final contentType = request.headers[contentTypeHeader];
if (contentType == null) {
throw BadRequestException(400, '$contentTypeHeader header is required.');
}
final MediaType value;
try {
value = MediaType.parse(contentType);
} catch (e, stack) {
throw BadRequestException(
400,
'Could not parse $contentTypeHeader header.',
innerError: e,
innerStack: stack,
);
}
if (requiredMimeType != null) {
if (value.mimeType != requiredMimeType) {
// https://github.com/GoogleCloudPlatform/functions-framework#http-status-codes
throw BadRequestException(
400,
'Unsupported encoding "${value.mimeType.toString()}". '
'Only "$requiredMimeType" is supported.',
);
}
}
return value;
}