in lib/src/media_type.dart [93:127]
MediaType change(
{String? type,
String? subtype,
String? mimeType,
Map<String, String>? parameters,
bool clearParameters = false}) {
if (mimeType != null) {
if (type != null) {
throw ArgumentError('You may not pass both [type] and [mimeType].');
} else if (subtype != null) {
throw ArgumentError('You may not pass both [subtype] and '
'[mimeType].');
}
final segments = mimeType.split('/');
if (segments.length != 2) {
throw FormatException('Invalid mime type "$mimeType".');
}
type = segments[0];
subtype = segments[1];
}
type ??= this.type;
subtype ??= this.subtype;
parameters ??= {};
if (!clearParameters) {
final newParameters = parameters;
parameters = Map.from(this.parameters);
parameters.addAll(newParameters);
}
return MediaType(type, subtype, parameters);
}