public IEnumerator LookupAssetUrl(CPipeManifestResponse cpipeManifestResponse, string assetName)
        {
            cpipeManifestResponse.Clear();
            cpipeManifestResponse.AssetName = assetName;
            GcsAccessTokenResponse gcsAccessTokenResponse = new GcsAccessTokenResponse();

            while (isGettingManifest)
            {
                yield return(null);
            }
            if (cachedCPipeManifestData == null)
            {
                try
                {
                    isGettingManifest       = true;
                    cachedCPipeManifestData = null;
                    yield return(getCPipeManifestData(gcsAccessTokenResponse));
                }
                finally
                {
                    isGettingManifest = false;
                }
            }
            JsonData pathsData = cachedCPipeManifestData["paths"];

            if (pathsData.Contains(assetName))
            {
                JsonData assetData = pathsData[assetName];
                yield return(gcsAccessTokenService.GetAccessToken(gcsAccessTokenResponse));

                cpipeManifestResponse.FullAssetUrl = getFullAssetUrl(assetName, assetData, gcsAccessTokenResponse);
            }
        }
Beispiel #2
0
        public IEnumerator ReadJson(string assetName, ReadResponse response)
        {
            GcsAccessTokenResponse gcsAccessTokenResponse = new GcsAccessTokenResponse();

            yield return(gcsAccessTokenService.GetAccessToken(gcsAccessTokenResponse));

            yield return(followRedirects(getReadAssetUrl(assetName, gcsAccessTokenResponse.AccessToken), response));
        }