Aetheria/Assets/Scripts/MagicOnion/MetadataExtensions.cs
hyperion51 a0c8dbee72 Initial Client/Server Communication
#1
Followed the MagicOnion quickstart guide, borrowing code from the chat sample app to get something working
2020-02-26 17:48:40 +00:00

62 lines
1.7 KiB
C#

using Grpc.Core;
using System;
namespace MagicOnion
{
public static class MetadataExtensions
{
public const string BinarySuffix = "-bin";
/// <summary>
/// Get metdata entry. If does not exists, return null.
/// </summary>
public static Metadata.Entry Get(this Metadata metadata, string key, bool ignoreCase = true)
{
for (int i = 0; i < metadata.Count; i++)
{
var entry = metadata[i];
if (ignoreCase)
{
if (entry.Key.Equals(key, StringComparison.OrdinalIgnoreCase))
{
return entry;
}
}
else
{
if (entry.Key == key)
{
return entry;
}
}
}
return null;
}
/// <summary>
/// Get metdata string value. If does not exists, return null.
/// </summary>
public static string GetValue(this Metadata metadata, string key, bool ignoreCase = true)
{
for (int i = 0; i < metadata.Count; i++)
{
var entry = metadata[i];
if (ignoreCase)
{
if (entry.Key.Equals(key, StringComparison.OrdinalIgnoreCase))
{
return entry.Value;
}
}
else
{
if (entry.Key == key)
{
return entry.Value;
}
}
}
return null;
}
}
}