示例#1
0
        public Chunk(ChunkConfiguration configuration, TBody body)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException("configuration");
            }

            if (body == null)
            {
                throw new ArgumentNullException("body");
            }

            _configuration = configuration;
            _body          = body;
        }
示例#2
0
        private Stream BuildTransformationStream(Stream input, ChunkConfiguration configuration)
        {
            var streamChain = new InputStreamChainBuilder();

            if (configuration.IsCompressed)
            {
                streamChain.Add(_compressionFactory.GetAlgorithm(configuration.CompressionOptions.Algorithm).CreateDecompressor());
            }

            if (configuration.IsEncrypted)
            {
                streamChain.Add(_encryptionFactory.GetAlgorithm(configuration.EncryptionOptions, _configuration.Password));
            }

            return(streamChain.CreateInputStream(input, true));
        }