예제 #1
0
        public static MapboxToken FromResponseData(byte[] data)
        {
            if (null == data || data.Length < 1)
            {
                return(new MapboxToken()
                {
                    HasError = true,
                    ErrorMessage = "No data received from token endpoint."
                });
            }

            string jsonTxt = Encoding.UTF8.GetString(data);

            MapboxToken token = new MapboxToken();

            try
            {
                token = JsonConvert.DeserializeObject <MapboxToken>(jsonTxt);

                MapboxTokenStatus status = (MapboxTokenStatus)Enum.Parse(typeof(MapboxTokenStatus), token.Code);
                if (!Enum.IsDefined(typeof(MapboxTokenStatus), status))
                {
                    throw new Exception(string.Format("could not convert token.code '{0}' to MapboxTokenStatus", token.Code));
                }

                token.Status = status;
            }
            catch (Exception ex)
            {
                token.HasError     = true;
                token.ErrorMessage = ex.Message;
            }

            return(token);
        }
예제 #2
0
 public void Retrieve(string accessToken, Action <MapboxToken> callback)
 {
     _fs.Request(
         Utils.Constants.BaseAPI + "tokens/v2?access_token=" + accessToken,
         (Response response) =>
     {
         if (response.HasError)
         {
             callback(new MapboxToken()
             {
                 HasError     = true,
                 ErrorMessage = response.ExceptionsAsString
             });
             return;
         }
         callback(MapboxToken.FromResponseData(response.Data));
     }
         );
 }