in storage/testapp/Assets/Firebase/Sample/Storage/UIHandler.cs [401:434]
MetadataChange StringToMetadataChange(string metadataString) {
var metadataChange = new MetadataChange();
var customMetadata = new Dictionary<string, string>();
bool hasMetadata = false;
foreach (var metadataStringLine in metadataString.Split(new char[] { '\n' })) {
if (metadataStringLine.Trim() == "")
continue;
var keyValue = metadataStringLine.Split(new char[] { '=' });
if (keyValue.Length != 2) {
DebugLog(String.Format("Ignoring malformed metadata line '{0}' tokens={2}",
metadataStringLine, keyValue.Length));
continue;
}
hasMetadata = true;
var key = keyValue[0];
var value = keyValue[1];
if (key == "CacheControl") {
metadataChange.CacheControl = value;
} else if (key == "ContentDisposition") {
metadataChange.ContentDisposition = value;
} else if (key == "ContentEncoding") {
metadataChange.ContentEncoding = value;
} else if (key == "ContentLanguage") {
metadataChange.ContentLanguage = value;
} else if (key == "ContentType") {
metadataChange.ContentType = value;
} else {
customMetadata[key] = value;
}
}
if (customMetadata.Count > 0)
metadataChange.CustomMetadata = customMetadata;
return hasMetadata ? metadataChange : null;
}