private bool TryGetResult(HttpRequestBase request, IFormatInfo outputFormat, bool transformMedia, IMediaTransformer mediaTransformer, out IResult result)
        {
            var path         = GetRequestPath(request);
            var originalPath = GetOriginalPath(request, mediaTransformer);

            if (MediaCache.TryServeRequestFromCache(transformMedia ? path : originalPath, outputFormat, out result))
            {
                return(true);
            }

            IStorageFile storageFile;

            if (!StorageBackend.TryGetStorageFile(originalPath, out storageFile))
            {
                return(false);
            }

            if (!transformMedia && !CacheOriginals)
            {
                result = storageFile;
                return(true);
            }

            if (transformMedia)
            {
                result = TransformMedia(storageFile.GetStream(), outputFormat, path, mediaTransformer);
                return(true);
            }

            result = ServeOriginal(originalPath, storageFile, outputFormat);
            return(true);
        }
Ejemplo n.º 2
0
        public void Test_StorageBackend_FromJson(StorageBackend storageBackend)
        {
            var json = $"{{\"storageBackend\":\"{storageBackend.GetDescription()}\"}}";

            var settings = JsonSerializer.Deserialize(json, ManagementSerializerContext.Default.BucketSettings) !;

            Assert.Equal(settings.StorageBackend, storageBackend);
        }
Ejemplo n.º 3
0
        public void Test_GetBucketSettingAsFormValues_Contains_BucketStorage(StorageBackend storageBackend)
        {
            var settings = new BucketSettings
            {
                StorageBackend = storageBackend
            };

            var formValues = settings.ToFormValues();

            Assert.True(formValues.TryGetValue("storageBackend", out string actualBackend));
            Assert.Equal(storageBackend.GetDescription(), actualBackend);
        }
Ejemplo n.º 4
0
        public static ContactList Load <S>(object descriptor) where S : StorageBackend
        {
            StorageBackend sb = Activator.CreateInstance <S>();

            return(sb.Load(descriptor));
        }
Ejemplo n.º 5
0
        public void Store <S>(object descriptor) where S : StorageBackend
        {
            StorageBackend sb = Activator.CreateInstance <S>();

            sb.Store(this, descriptor);
        }