public static string Http_Put(
            string url,
            byte[] data,
            Action <string, byte[]> succeeded,
            Action <string, int, string, AutoyaStatus> failed,
            Dictionary <string, string> additionalHeader = null,
            double timeoutSec       = BackyardSettings.HTTP_TIMEOUT_SEC,
            string userConnectionId = null
            )
        {
            var connectionId = Guid.NewGuid().ToString();

            if (!string.IsNullOrEmpty(userConnectionId))
            {
                connectionId = userConnectionId;
            }


            if (autoya == null)
            {
                var cor = new ConnectionErrorInstance(connectionId, "Autoya is null.", new AutoyaStatus(), failed).Coroutine();
                autoya.mainthreadDispatcher.Commit(cor);
                return(connectionId);
            }
            if (!Autoya.Auth_IsAuthenticated())
            {
                var cor = new ConnectionErrorInstance(connectionId, "not authenticated.", new AutoyaStatus(false, true), failed).Coroutine();
                autoya.mainthreadDispatcher.Commit(cor);

                return(connectionId);
            }

            if (additionalHeader == null)
            {
                additionalHeader = new Dictionary <string, string>();
            }

            autoya.AddFrameworkHeaderParam(additionalHeader);

            var headers = autoya.httpRequestHeaderDelegate("PUT", url, additionalHeader, data);

            autoya.mainthreadDispatcher.Commit(
                autoya._autoyaHttp.Put(
                    connectionId,
                    headers,
                    url,
                    data,
                    (string conId, int code, Dictionary <string, string> responseHeader, string resultData) =>
            {
                autoya.HttpResponseHandling(conId, responseHeader, code, resultData, string.Empty,
                                            (_conId, _data) =>
                {
                    var byteData  = _data as byte[];
                    var reason    = string.Empty;
                    var validated = autoya.OnValidateHttpResponse("PUT", url, responseHeader, byteData, out reason);
                    if (!validated)
                    {
                        failed(connectionId, code, reason, new AutoyaStatus());
                        return;
                    }

                    succeeded(_conId, byteData);
                },
                                            failed
                                            );
            },
                    (conId, code, reason, responseHeader) =>
            {
                autoya.HttpResponseHandling(conId, responseHeader, code, string.Empty, reason, (_conId, _data) => { }, failed);
            },
                    timeoutSec
                    )
                );

            return(connectionId);
        }
Пример #2
0
        private bool DeleteAssetBundleListsFromStorage()
        {
            var result = Autoya.Persist_DeleteByDomain(AssetBundlesSettings.ASSETBUNDLES_LIST_STORED_DOMAIN);

            return(result);
        }
Пример #3
0
 /**
  *  should return identities of AssetBundleLists in persisted place.
  */
 private string[] LoadAppUsingAssetBundleListIdentities()
 {
     return(Autoya.Manifest_LoadRuntimeManifest().resourceInfos.Select(info => info.listIdentity).ToArray());
 }
Пример #4
0
        public static string Http_Post(
            string url,
            string data,
            Action <string, string> succeeded,
            Action <string, int, string, AutoyaStatus> failed,
            Dictionary <string, string> additionalHeader = null,
            double timeoutSec = BackyardSettings.HTTP_TIMEOUT_SEC
            )
        {
            var connectionId = Guid.NewGuid().ToString();

            if (autoya == null)
            {
                var cor = new ConnectionErrorInstance(connectionId, "Autoya is null.", failed).Coroutine();
                autoya.mainthreadDispatcher.Commit(cor);
                return(connectionId);
            }
            if (!Autoya.Auth_IsAuthenticated())
            {
                var cor = new ConnectionErrorInstance(connectionId, "not authenticated.", failed).Coroutine();
                autoya.mainthreadDispatcher.Commit(cor);

                return(connectionId);
            }

            if (additionalHeader == null)
            {
                additionalHeader = new Dictionary <string, string>();
            }
            var headers = autoya.httpRequestHeaderDelegate(HttpMethod.Post, url, additionalHeader, data);

            autoya.mainthreadDispatcher.Commit(
                autoya._autoyaHttp.Post(
                    connectionId,
                    headers,
                    url,
                    data,
                    (conId, code, responseHeader, resultData) => {
                autoya.HttpResponseHandling(conId, responseHeader, code, resultData, string.Empty,
                                            (_conId, _data) => {
                    var stringData = _data as string;
                    var message    = string.Empty;
                    var validated  = autoya.OnValidateHttpResponse(HttpMethod.Post, url, responseHeader, stringData, out message);
                    if (!validated)
                    {
                        failed(connectionId, code, message, new AutoyaStatus(false, false, true));
                        return;
                    }

                    succeeded(_conId, stringData);
                },
                                            failed
                                            );
            },
                    (conId, code, reason, responseHeader) => {
                autoya.HttpResponseHandling(conId, responseHeader, code, string.Empty, reason, (_conId, _data) => {}, failed);
            },
                    timeoutSec
                    )
                );

            return(connectionId);
        }
        private void AddFrameworkHeaderParam(Dictionary <string, string> additionalRequestHeaders)
        {
            additionalRequestHeaders[AuthSettings.AUTH_REQUESTHEADER_APPVERSION] = Autoya.Manifest_GetBuildManifest().appVerion;

            if (autoya.assetBundleFeatState == AssetBundlesFeatureState.Ready)
            {
                additionalRequestHeaders[AuthSettings.AUTH_REQUESTHEADER_RESVERSION] = Autoya.Manifest_ResourceVersionDescription();
            }
        }
Пример #6
0
 /**
  *              this method can be called for only testing.
  */
 public static void TestEntryPoint(string basePath)
 {
     autoya = new Autoya(basePath);
 }
Пример #7
0
 private static void EntryPoint()
 {
     autoya = new Autoya(Application.persistentDataPath);
 }
Пример #8
0
 private string[] OnAssetBundleListUrlsRequired()
 {
     return(Autoya.Manifest_LoadRuntimeManifest().resourceInfos.Select(info => autoya.OnAssetBundleListDownloadUrlRequired(info.listIdentity) + info.listIdentity + ".json").ToArray());
 }
Пример #9
0
        private string OnResourceVersionRequired()
        {
            var manifest = Autoya.Manifest_LoadRuntimeManifest();

            return(string.Join(",", manifest.resourceInfos.Select(info => info.listIdentity + ":" + info.listVersion).ToArray()));
        }
Пример #10
0
        /*
         *  app version and resource version handlers.
         */

        private string OnAppVersionRequired()
        {
            return(Autoya.Manifest_GetBuildManifest().appVerion);
        }