public static string EncodeHydraId(HydraIdType type, string address)
        {
#pragma warning disable S1075 // URIs should not be hardcoded
            string peopleUrl  = "ciscospark://us/PEOPLE/";
            string spaceUrl   = "ciscospark://us/ROOM/";
            string messageUrl = "ciscospark://us/MESSAGE/";
#pragma warning restore S1075 // URIs should not be hardcoded

            string result = null;

            switch (type)
            {
            case HydraIdType.Space:
                result = Base64UrlEncode(spaceUrl + address);
                break;

            case HydraIdType.People:
                result = Base64UrlEncode(peopleUrl + address);
                break;

            case HydraIdType.Message:
                result = Base64UrlEncode(messageUrl + address);
                break;

            default:
                break;
            }
            return(result);
        }
        public static string EncodeHydraId(HydraIdType type, string address)
        {
            string peopleUrl  = "ciscospark://us/PEOPLE/";
            string roomUrl    = "ciscospark://us/ROOM/";
            string messageUrl = "ciscospark://us/MESSAGE/";

            string result = null;

            switch (type)
            {
            case HydraIdType.Room:
                result = Base64UrlEncode(roomUrl + address);
                break;

            case HydraIdType.People:
                result = Base64UrlEncode(peopleUrl + address);
                break;

            case HydraIdType.Message:
                result = Base64UrlEncode(messageUrl + address);
                break;

            default:
                break;
            }
            return(result);
        }
        public static HydraIdType ParseHydraId(string address, ref string outputAddress)
        {
            string peopleUrl  = "ciscospark://us/PEOPLE/";
            string roomUrl    = "ciscospark://us/ROOM/";
            string messageUrl = "ciscospark://us/MESSAGE/";

            outputAddress = null;
            HydraIdType result = HydraIdType.Error;

            try
            {
                var decodedStr = StringExtention.Base64UrlDecode(address);
                if (decodedStr.StartsWith(peopleUrl))
                {
                    outputAddress = decodedStr.Substring(peopleUrl.Length);
                    result        = HydraIdType.People;
                }
                else if (decodedStr.StartsWith(roomUrl))
                {
                    outputAddress = decodedStr.Substring(roomUrl.Length);
                    result        = HydraIdType.Room;
                }
                else if (decodedStr.StartsWith(messageUrl))
                {
                    outputAddress = decodedStr.Substring(messageUrl.Length);
                    result        = HydraIdType.Message;
                }
                else
                {
                    result = HydraIdType.Unknow;
                }
            }
            catch
            {
                result = HydraIdType.Error;
            }


            return(result);
        }
示例#4
0
        public static HydraIdType GetHydraIdType(string address)
        {
            string peopleUrl  = "ciscospark://us/PEOPLE/";
            string roomUrl    = "ciscospark://us/ROOM/";
            string messageUrl = "ciscospark://us/MESSAGE/";

            HydraIdType result = HydraIdType.Error;

            try
            {
                var decodedStr = StringExtention.Base64UrlDecode(address);
                if (decodedStr.StartsWith(peopleUrl))
                {
                    result = HydraIdType.People;
                }
                else if (decodedStr.StartsWith(roomUrl))
                {
                    result = HydraIdType.Room;
                }
                else if (decodedStr.StartsWith(messageUrl))
                {
                    result = HydraIdType.Message;
                }
                else
                {
                    result = HydraIdType.Unknow;
                }
            }
            catch
            {
                result = HydraIdType.Error;
            }


            return(result);
        }