Exemplo n.º 1
0
        public override AccessControlList Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);
            var acl   = new AccessControlList {
                Owner = new Owner(model.Owner.Id, model.Owner.DisplayName)
            };

            foreach (var grant in model.Grants)
            {
                if (grant == EnumUtils.GetStringValue(CannedAccessControlList.PublicRead))
                {
                    acl.GrantPermission(GroupGrantee.AllUsers, Permission.Read);
                    acl.ACL = CannedAccessControlList.PublicRead;
                }
                else if (grant == EnumUtils.GetStringValue(CannedAccessControlList.PublicReadWrite))
                {
                    acl.GrantPermission(GroupGrantee.AllUsers, Permission.FullControl);
                    acl.ACL = CannedAccessControlList.PublicReadWrite;
                }
                else if (grant == EnumUtils.GetStringValue(CannedAccessControlList.Private))
                {
                    acl.ACL = CannedAccessControlList.Private;
                }
                else if (grant == EnumUtils.GetStringValue(CannedAccessControlList.Default))
                {
                    acl.ACL = CannedAccessControlList.Default;
                }
            }
            DeserializeGeneric(xmlStream, acl);
            return(acl);
        }
        public override GetLiveChannelHistoryResult Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);

            GetLiveChannelHistoryResult result = new GetLiveChannelHistoryResult();

            var liveRecords = new List <LiveRecord>();

            if (model.LiveRecords != null)
            {
                foreach (var e in model.LiveRecords)
                {
                    var liveRecord = new LiveRecord()
                    {
                        StartTime  = e.StartTime,
                        EndTime    = e.EndTime,
                        RemoteAddr = e.RemoteAddr
                    };
                    liveRecords.Add(liveRecord);
                }
            }
            result.LiveRecords = liveRecords;

            DeserializeGeneric(xmlStream, result);

            return(result);
        }
Exemplo n.º 3
0
        public override DeleteObjectVersionsResult Deserialize(ServiceResponse xmlStream)
        {
            var result = new DeleteObjectVersionsResult();

            if (int.Parse(xmlStream.Headers[HttpHeaders.ContentLength]) != 0)
            {
                var    model      = ContentDeserializer.Deserialize(xmlStream.Content);
                string encodeType = model.EncodingType == null ?
                                    string.Empty : model.EncodingType.ToLowerInvariant();

                result.EncodingType = model.EncodingType;
                if (model.DeletedObjects != null)
                {
                    foreach (var o in model.DeletedObjects)
                    {
                        var summary = new DeletedObjectSummary
                        {
                            Key                   = Decode(o.Key, encodeType),
                            VersionId             = o.VersionId,
                            DeleteMarker          = o.DeleteMarker,
                            DeleteMarkerVersionId = o.DeleteMarkerVersionId
                        };
                        result.AddDeletedObjectSummary(summary);
                    }
                }
            }

            DeserializeGeneric(xmlStream, result);

            return(result);
        }
Exemplo n.º 4
0
        public async Task DeserializeAsync_WithOneAxisAndSomeValuesAndOneValueDifferent_ReturnsTheValuesAsync()
        {
            var deserializer = new ContentDeserializer();
            var header       = new HeaderBuilder()
                               .WithContentDataType(DataContentType.INTEGER)
                               .WithNumberOfAxis(1)
                               .WithAxisOfSize(dimensionIndex: 1, size: 10)
                               .Build();
            var dataStream = new ContentStreamBuilder()
                             .WithDataBeingInitializedWith(123, header)
                             .WithDataAtCoordinates(
                10,
                new Dictionary <uint, ulong> {
                { 0, 5 }
            },
                header)
                             .Build();

            var deserilaizedContent = await deserializer.DeserializeAsync(PipeReader.Create(dataStream), header);

            deserilaizedContent.Should().NotBeNull();
            deserilaizedContent.Value.ToArray().Should().HaveCount(10);
            deserilaizedContent.Value.Span[4].Should().Equals(10);
            deserilaizedContent.Value.ToArray().Select((d, i) => (i, d)).Where(d => d.i != 5).All(d => (int)d.d == 123).Should().BeTrue();
        }
        public override CompleteMultipartUploadResult Deserialize(ServiceResponse xmlStream)
        {
            var completeMultipartUploadResult = new CompleteMultipartUploadResult();

            if (_completeMultipartUploadRequest.IsNeedResponseStream())
            {
                completeMultipartUploadResult.BucketName     = _completeMultipartUploadRequest.BucketName;
                completeMultipartUploadResult.Key            = _completeMultipartUploadRequest.Key;
                completeMultipartUploadResult.ETag           = OssUtils.TrimQuotes(xmlStream.Headers[HttpHeaders.ETag]);
                completeMultipartUploadResult.ResponseStream = xmlStream.Content;
            }
            else
            {
                var result = ContentDeserializer.Deserialize(xmlStream.Content);
                completeMultipartUploadResult.BucketName = result.Bucket;
                completeMultipartUploadResult.Key        = result.Key;
                completeMultipartUploadResult.Location   = result.Location;
                completeMultipartUploadResult.ETag       = OssUtils.TrimQuotes(result.ETag);
            }

            if (xmlStream.Headers.ContainsKey(HttpHeaders.VersionId))
            {
                completeMultipartUploadResult.VersionId = xmlStream.Headers[HttpHeaders.VersionId];
            }

            DeserializeGeneric(xmlStream, completeMultipartUploadResult);

            return(completeMultipartUploadResult);
        }
Exemplo n.º 6
0
        public override GetObjectTaggingResult Deserialize(ServiceResponse xmlStream)
        {
            GetObjectTaggingResult result = new GetObjectTaggingResult();

            var tagging = ContentDeserializer.Deserialize(xmlStream.Content);

            if (tagging.TagSet != null && tagging.TagSet.Tags != null)
            {
                foreach (var lcc in tagging.TagSet.Tags)
                {
                    var tag = new Tag
                    {
                        Key   = lcc.Key,
                        Value = lcc.Value
                    };
                    result.Addtag(tag);
                }
            }

            if (xmlStream.Headers.ContainsKey(HttpHeaders.VersionId))
            {
                result.VersionId = xmlStream.Headers[HttpHeaders.VersionId];
            }

            DeserializeGeneric(xmlStream, result);
            return(result);
        }
Exemplo n.º 7
0
        public override UploadPartCopyResult Deserialize(ServiceResponse xmlStream)
        {
            var partCopyRequestModel = ContentDeserializer.Deserialize(xmlStream.Content);
            var result = new UploadPartCopyResult
            {
                ETag       = OssUtils.TrimQuotes(partCopyRequestModel.ETag),
                PartNumber = _partNumber
            };

            DeserializeGeneric(xmlStream, result);

            if (result.ResponseMetadata.ContainsKey(HttpHeaders.HashCrc64Ecma))
            {
                result.Crc64 = result.ResponseMetadata[HttpHeaders.HashCrc64Ecma];
            }

            if (xmlStream.Headers.ContainsKey(HttpHeaders.QuotaDeltaSize))
            {
                result.Length = long.Parse(xmlStream.Headers[HttpHeaders.QuotaDeltaSize]);
            }

            if (xmlStream.Headers.ContainsKey("x-oss-copy-source-version-id"))
            {
                result.CopySourceVersionId = xmlStream.Headers["x-oss-copy-source-version-id"];
            }

            return(result);
        }
Exemplo n.º 8
0
        public override PartListing Deserialize(ServiceResponse xmlStream)
        {
            var listPartResult = ContentDeserializer.Deserialize(xmlStream.Content);

            var partListing = new PartListing
            {
                BucketName           = listPartResult.Bucket,
                Key                  = listPartResult.EncodingType.ToLowerInvariant().Equals(HttpUtils.UrlEncodingType) ? HttpUtils.DecodeUri(listPartResult.Key) : listPartResult.Key,
                MaxParts             = listPartResult.MaxParts,
                NextPartNumberMarker = listPartResult.NextPartNumberMarker.Length == 0 ?
                                       0 : Convert.ToInt32(listPartResult.NextPartNumberMarker),
                PartNumberMarker = listPartResult.PartNumberMarker,
                UploadId         = listPartResult.UploadId,
                IsTruncated      = listPartResult.IsTruncated
            };

            if (listPartResult.PartResults != null)
            {
                foreach (var partResult in listPartResult.PartResults)
                {
                    var part = new Part
                    {
                        ETag = partResult.ETag != null?OssUtils.TrimQuotes(partResult.ETag) : string.Empty,
                                   LastModified = partResult.LastModified,
                                   PartNumber   = partResult.PartNumber,
                                   Size         = partResult.Size
                    };
                    partListing.AddPart(part);
                }
            }

            DeserializeGeneric(xmlStream, partListing);

            return(partListing);
        }
        public override GetLiveChannelStatResult Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);

            GetLiveChannelStatResult result = new GetLiveChannelStatResult()
            {
                Status        = model.Status,
                ConnectedTime = model.ConnectedTime,
                RemoteAddr    = model.RemoteAddr
            };

            if (model.Video != null)
            {
                result.Width          = model.Video.Width;
                result.Height         = model.Video.Height;
                result.FrameRate      = model.Video.FrameRate;
                result.VideoBandwidth = model.Video.Bandwidth;
                result.VideoCodec     = model.Video.Codec;
            }

            if (model.Audio != null)
            {
                result.SampleRate     = model.Audio.SampleRate;
                result.AudioBandwidth = model.Audio.Bandwidth;
                result.AudioCodec     = model.Audio.Codec;
            }

            DeserializeGeneric(xmlStream, result);

            return(result);
        }
        public override IList <CORSRule> Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);

            IList <CORSRule> corsRuleList = new List <CORSRule>();

            foreach (var corsRuleModel in model.CORSRuleModels)
            {
                var corsRule = new CORSRule();
                if (corsRuleModel.AllowedHeaders != null && corsRuleModel.AllowedHeaders.Length > 0)
                {
                    corsRule.AllowedHeaders = ToList(corsRuleModel.AllowedHeaders);
                }
                if (corsRuleModel.AllowedMethods != null && corsRuleModel.AllowedMethods.Length > 0)
                {
                    corsRule.AllowedMethods = ToList(corsRuleModel.AllowedMethods);
                }
                if (corsRuleModel.AllowedOrigins != null && corsRuleModel.AllowedOrigins.Length > 0)
                {
                    corsRule.AllowedOrigins = ToList(corsRuleModel.AllowedOrigins);
                }
                if (corsRuleModel.ExposeHeaders != null && corsRuleModel.ExposeHeaders.Length > 0)
                {
                    corsRule.ExposeHeaders = ToList(corsRuleModel.ExposeHeaders);
                }
                corsRule.MaxAgeSeconds = corsRuleModel.MaxAgeSeconds;
                corsRuleList.Add(corsRule);
            }

            return(corsRuleList);
        }
Exemplo n.º 11
0
        public override ListBucketsResult Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);

            var result = new ListBucketsResult {
                Prefix = model.Prefix, Marker = model.Marker
            };

            if (model.MaxKeys.HasValue)
            {
                result.MaxKeys = model.MaxKeys.Value;
            }
            if (model.IsTruncated.HasValue)
            {
                result.IsTruncated = model.IsTruncated.Value;
            }
            result.NextMaker = model.NextMarker;

            result.Buckets = model.Buckets.Select(e =>
                                                  new Bucket(e.Name)
            {
                Location     = e.Location,
                Owner        = new Owner(model.Owner.Id, model.Owner.DisplayName),
                CreationDate = e.CreationDate
            });

            return(result);
        }
 public override T Deserialize(ServiceResponse xmlStream)
 {
     using (xmlStream.Content)
     {
         return(ContentDeserializer.Deserialize(xmlStream.Content));
     }
 }
        public override DeleteObjectsResult Deserialize(ServiceResponse xmlStream)
        {
            if (int.Parse(xmlStream.Headers[HttpHeaders.ContentLength]) == 0)
            {
                return(new DeleteObjectsResult());
            }

            return(ContentDeserializer.Deserialize(xmlStream.Content));
        }
Exemplo n.º 14
0
        public override IList <LifecycleRule> Deserialize(ServiceResponse xmlStream)
        {
            var lifecycleConfig = ContentDeserializer.Deserialize(xmlStream.Content);
            var rules           = new List <LifecycleRule>();

            foreach (var lcc in lifecycleConfig.LifecycleRules)
            {
                var rule = new LifecycleRule
                {
                    ID     = lcc.ID,
                    Prefix = lcc.Prefix
                };

                RuleStatus status;
                if (TryParseEnum(lcc.Status, out status))
                {
                    rule.Status = status;
                }
                else
                {
                    throw new InvalidEnumArgumentException(@"Unsupported rule status " + lcc.Status);
                }

                if (lcc.Expiration.IsSetDays())
                {
                    rule.ExpriationDays = lcc.Expiration.Days;
                }
                else if (lcc.Expiration.IsSetDate())
                {
                    rule.ExpirationTime = DateTime.Parse(lcc.Expiration.Date).ToUniversalTime();
                }
                else if (!String.IsNullOrEmpty(lcc.Expiration.CreatedBeforeDate))
                {
                    rule.CreatedBeforeDate = DateTime.Parse(lcc.Expiration.CreatedBeforeDate).ToUniversalTime();
                }

                if (lcc.AbortMultipartUpload != null)
                {
                    rule.AbortMultipartUpload = new LifecycleRule.LifeCycleExpiration();
                    ConvertExpiration(lcc.AbortMultipartUpload, rule.AbortMultipartUpload);
                }

                if (lcc.Transition != null)
                {
                    rule.Transitions = new LifecycleRule.LifeCycleTransition[lcc.Transition.Length];
                    for (int i = 0; i < rule.Transitions.Length; i++)
                    {
                        rule.Transitions[i] = new LifecycleRule.LifeCycleTransition();
                        ConvertTransition(lcc.Transition[i], rule.Transitions[i]);
                    }
                }

                rules.Add(rule);
            }
            return(rules);
        }
        public override BucketLoggingResult Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);

            return(new BucketLoggingResult
            {
                TargetBucket = model.LoggingEnabled.TargetBucket,
                TargetPrefix = model.LoggingEnabled.TargetPrefix
            });
        }
        public override BucketWebsiteResult Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);

            return(new BucketWebsiteResult
            {
                IndexDocument = model.IndexDocument.Suffix,
                ErrorDocument = model.ErrorDocument.Key
            });
        }
Exemplo n.º 17
0
        public override CopyObjectResult Deserialize(ServiceResponse xmlStream)
        {
            var result = ContentDeserializer.Deserialize(xmlStream.Content);

            return(new CopyObjectResult
            {
                ETag = OssUtils.TrimQuotes(result.ETag),
                LastModified = result.LastModified
            });
        }
Exemplo n.º 18
0
        public override ListLiveChannelResult Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);

            var result = new ListLiveChannelResult
            {
                Prefix = model.Prefix,
                Marker = model.Marker
            };

            if (model.MaxKeys.HasValue)
            {
                result.MaxKeys = model.MaxKeys.Value;
            }

            if (model.IsTruncated.HasValue)
            {
                result.IsTruncated = model.IsTruncated.Value;
            }

            result.NextMarker = model.NextMarker;

            var liveChannels = new List <LiveChannel>();

            if (model.LiveChannels != null)
            {
                foreach (var e in model.LiveChannels)
                {
                    var liveChannel = new LiveChannel()
                    {
                        Name         = e.Name,
                        Description  = e.Description,
                        Status       = e.Status,
                        LastModified = e.LastModified
                    };

                    if (e.PublishUrls != null)
                    {
                        liveChannel.PublishUrl = e.PublishUrls.Url;
                    }

                    if (e.PlayUrls != null)
                    {
                        liveChannel.PlayUrl = e.PlayUrls.Url;
                    }

                    liveChannels.Add(liveChannel);
                }
            }
            result.LiveChannels = liveChannels;

            DeserializeGeneric(xmlStream, result);

            return(result);
        }
Exemplo n.º 19
0
        public override InitiateMultipartUploadResult Deserialize(ServiceResponse xmlStream)
        {
            var result = ContentDeserializer.Deserialize(xmlStream.Content);

            return(new InitiateMultipartUploadResult
            {
                BucketName = result.Bucket,
                Key = result.Key,
                UploadId = result.UploadId
            });
        }
        public override UploadPartCopyResult Deserialize(ServiceResponse xmlStream)
        {
            var partCopyRequestModel = ContentDeserializer.Deserialize(xmlStream.Content);
            var result = new UploadPartCopyResult
            {
                ETag       = OssUtils.TrimQuotes(partCopyRequestModel.ETag),
                PartNumber = _partNumber
            };

            return(result);
        }
        public override GetBucketRequestPaymentResult Deserialize(ServiceResponse xmlStream)
        {
            GetBucketRequestPaymentResult result = new GetBucketRequestPaymentResult();

            var mode = ContentDeserializer.Deserialize(xmlStream.Content);

            result.Payer = mode.Payer;

            this.DeserializeGeneric(xmlStream, result);
            return(result);
        }
        public override BucketEncryptionResult Deserialize(ServiceResponse xmlStream)
        {
            var result = new BucketEncryptionResult();
            var mode   = ContentDeserializer.Deserialize(xmlStream.Content);

            result.SSEAlgorithm   = mode.ApplyServerSideEncryptionByDefault.SSEAlgorithm;
            result.KMSMasterKeyID = mode.ApplyServerSideEncryptionByDefault.KMSMasterKeyID;

            this.DeserializeGeneric(xmlStream, result);
            return(result);
        }
Exemplo n.º 23
0
        public override ObjectListing Deserialize(ServiceResponse xmlStream)
        {
            var    listBucketResult = ContentDeserializer.Deserialize(xmlStream.Content);
            string encodeType       = listBucketResult.EncodingType == null ?
                                      string.Empty : listBucketResult.EncodingType.ToLowerInvariant();

            var objectList = new ObjectListing(listBucketResult.Name)
            {
                Delimiter   = Decode(listBucketResult.Delimiter, encodeType),
                IsTruncated = listBucketResult.IsTruncated,
                Marker      = Decode(listBucketResult.Marker, encodeType),
                MaxKeys     = listBucketResult.MaxKeys,
                NextMarker  = Decode(listBucketResult.NextMarker, encodeType),
                Prefix      = Decode(listBucketResult.Prefix, encodeType)
            };

            if (listBucketResult.Contents != null)
            {
                foreach (var contents in listBucketResult.Contents)
                {
                    var summary = new OssObjectSummary
                    {
                        BucketName                                 = listBucketResult.Name,
                        Key                                        = Decode(contents.Key, encodeType),
                        LastModified                               = contents.LastModified,
                        ETag                                       = contents.ETag != null?OssUtils.TrimQuotes(contents.ETag) : string.Empty,
                                                      Size         = contents.Size,
                                                      StorageClass = contents.StorageClass,
                                                      Owner        = contents.Owner != null ?
                                                                     new Owner(contents.Owner.Id, contents.Owner.DisplayName) : null
                    };

                    objectList.AddObjectSummary(summary);
                }
            }

            if (listBucketResult.CommonPrefixes != null)
            {
                foreach (var commonPrefixes in listBucketResult.CommonPrefixes)
                {
                    if (commonPrefixes.Prefix != null)
                    {
                        foreach (var prefix in commonPrefixes.Prefix)
                        {
                            objectList.AddCommonPrefix(Decode(prefix, encodeType));
                        }
                    }
                }
            }

            DeserializeGeneric(xmlStream, objectList);

            return(objectList);
        }
        public override CompleteMultipartUploadResult Deserialize(ServiceResponse xmlStream)
        {
            var result = ContentDeserializer.Deserialize(xmlStream.Content);

            return(new CompleteMultipartUploadResult
            {
                BucketName = result.Bucket,
                Key = result.Key,
                Location = result.Location,
                ETag = OssUtils.TrimQuotes(result.ETag)
            });
        }
        public override GetBucketInventoryConfigurationResult Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);

            var result = new GetBucketInventoryConfigurationResult
            {
                Configuration = ToInventoryConfiguration(model)
            };

            DeserializeGeneric(xmlStream, result);
            return(result);
        }
        public override GetBucketStorageCapacityResult Deserialize(ServiceResponse xmlStream)
        {
            var model = ContentDeserializer.Deserialize(xmlStream.Content);
            var getBucketStorageCapacityResult = new GetBucketStorageCapacityResult
            {
                StorageCapacity = model.StorageCapacity
            };

            DeserializeGeneric(xmlStream, getBucketStorageCapacityResult);

            return(getBucketStorageCapacityResult);
        }
Exemplo n.º 27
0
        public override GetBucketWormResult Deserialize(ServiceResponse xmlStream)
        {
            GetBucketWormResult result = new GetBucketWormResult();

            var mode = ContentDeserializer.Deserialize(xmlStream.Content);

            result.WormId = mode.WormId;
            result.State  = mode.State;
            result.RetentionPeriodInDays = mode.Days;
            result.CreationDate          = mode.CreationDate;
            this.DeserializeGeneric(xmlStream, result);
            return(result);
        }
Exemplo n.º 28
0
        public async Task <User> FindByNameAsync(string normalizedUserName, CancellationToken cancellationToken)
        {
            var document = (await DocumentFinder.Find(Container).WhereEquals <User, string>(u => u.NormalizedUsername, normalizedUserName).GetResultAsync()).FirstOrDefault();

            if (document == null)
            {
                return(null);
            }

            var content = ContentDeserializer.Deserialize(document, ContentType, null) as User;

            return(content);
        }
        public override InitiateMultipartUploadResult Deserialize(ServiceResponse xmlStream)
        {
            var    result     = ContentDeserializer.Deserialize(xmlStream.Content);
            string encodeType = result.EncodingType == null ?
                                string.Empty : result.EncodingType.ToLowerInvariant();

            return(new InitiateMultipartUploadResult
            {
                BucketName = result.Bucket,
                Key = Decode(result.Key, encodeType),
                UploadId = result.UploadId
            });
        }
Exemplo n.º 30
0
        public override DeleteObjectsResult Deserialize(ServiceResponse xmlStream)
        {
            var deleteObjectsResult = new DeleteObjectsResult();

            if (int.Parse(xmlStream.Headers[HttpHeaders.ContentLength]) != 0)
            {
                deleteObjectsResult = ContentDeserializer.Deserialize(xmlStream.Content);
            }

            DeserializeGeneric(xmlStream, deleteObjectsResult);

            return(deleteObjectsResult);
        }