Beispiel #1
0
        // Refresh client data
        private static void SetApplicationData(WitConfiguration configuration, string serverToken, Action <string> onSetComplete)
        {
            // Already set in app server data
            string appID = GetAppID(configuration);

            if (!string.IsNullOrEmpty(appID))
            {
                string curToken = WitAuthUtility.GetAppServerToken(appID);
                if (string.Equals(curToken, serverToken))
                {
                    SetClientData(configuration, serverToken, onSetComplete);
                    return;
                }
            }
            // Perform a list app request to get app for token
            var listRequest = WitRequestFactory.ListAppsRequest(serverToken, 10000);

            PerformConfigRequest(configuration, listRequest, ApplyApplicationData, (error) =>
            {
                // Failed
                if (!string.IsNullOrEmpty(error))
                {
                    SetConfigServerTokenComplete(configuration, serverToken, error, onSetComplete);
                }
                // Find client token
                else
                {
                    SetClientData(configuration, serverToken, onSetComplete);
                }
            });
        }
Beispiel #2
0
        public static void UpdateTokenData(string serverToken, Action updateComplete = null)
        {
            if (!WitAuthUtility.IsServerTokenValid(serverToken))
            {
                return;
            }

            var listRequest = WitRequestFactory.ListAppsRequest(serverToken, 10000);

            listRequest.onResponse = (r) =>
            {
                if (r.StatusCode == 200)
                {
                    var applications = r.ResponseData.AsArray;
                    for (int i = 0; i < applications.Count; i++)
                    {
                        if (applications[i]["is_app_for_token"].AsBool)
                        {
                            var application = WitApplication.FromJson(applications[i]);
                            EditorForegroundRunner.Run(() =>
                            {
                                WitAuthUtility.SetAppServerToken(application.id, serverToken);
                                updateComplete?.Invoke();
                            });
                            break;
                        }
                    }
                }
                else
                {
                    Debug.LogError(r.StatusDescription);
                }
            };
            listRequest.Request();
        }
Beispiel #3
0
        // Sets server token for all configurations if possible
        public static void SetServerToken(string serverToken, Action <string> onSetComplete = null)
        {
            // Invalid token
            if (!IsServerTokenValid(serverToken))
            {
                SetServerTokenComplete(string.Empty, "", onSetComplete);
                return;
            }
            // Perform a list app request to get app for token
            var listRequest = WitRequestFactory.ListAppsRequest(serverToken, 10000);

            PerformRequest(listRequest, (r, o) => ApplyAllApplicationData(serverToken, r, o), (error) =>
            {
                SetServerTokenComplete(serverToken, error, onSetComplete);
            });
        }
Beispiel #4
0
        private static void FetchApplicationFromServerToken(WitConfiguration configuration,
                                                            string serverToken, Action response)
        {
            var listRequest = WitRequestFactory.ListAppsRequest(serverToken, 10000);

            listRequest.onResponse = (r) =>
            {
                if (r.StatusCode == 200)
                {
                    var applications = r.ResponseData.AsArray;
                    for (int i = 0; i < applications.Count; i++)
                    {
                        if (applications[i]["is_app_for_token"].AsBool)
                        {
                            if (null != configuration.application)
                            {
                                configuration.application.UpdateData(applications[i]);
                            }
                            else
                            {
                                configuration.application =
                                    WitApplication.FromJson(applications[i]);
                            }

                            EditorForegroundRunner.Run(() =>
                            {
                                WitAuthUtility.SetAppServerToken(configuration.application.id,
                                                                 serverToken);
                                response?.Invoke();
                            });
                            break;
                        }
                    }
                }
                else
                {
                    Debug.LogError(r.StatusDescription);
                }
            };
            listRequest.Request();
        }