public IRequest Marshall(ListObjectsRequest listObjectsRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            IRequest val = new DefaultRequest(listObjectsRequest, "AmazonS3");

            val.set_HttpMethod("GET");
            if (listObjectsRequest.IsSetRequestPayer())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(((object)listObjectsRequest.RequestPayer).ToString()));
            }
            val.set_ResourcePath("/" + S3Transforms.ToStringValue(listObjectsRequest.BucketName));
            if (listObjectsRequest.IsSetDelimiter())
            {
                val.get_Parameters().Add("delimiter", S3Transforms.ToStringValue(listObjectsRequest.Delimiter));
            }
            if (listObjectsRequest.IsSetMarker())
            {
                val.get_Parameters().Add("marker", S3Transforms.ToStringValue(listObjectsRequest.Marker));
            }
            if (listObjectsRequest.IsSetMaxKeys())
            {
                val.get_Parameters().Add("max-keys", S3Transforms.ToStringValue(listObjectsRequest.MaxKeys));
            }
            if (listObjectsRequest.IsSetPrefix())
            {
                val.get_Parameters().Add("prefix", S3Transforms.ToStringValue(listObjectsRequest.Prefix));
            }
            if (listObjectsRequest.IsSetEncoding())
            {
                val.get_Parameters().Add("encoding-type", S3Transforms.ToStringValue(ConstantClass.op_Implicit(listObjectsRequest.Encoding)));
            }
            val.set_UseQueryString(true);
            return(val);
        }
Example #2
0
        public IRequest Marshall(InitiateMultipartUploadRequest initiateMultipartUploadRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            IRequest val = new DefaultRequest(initiateMultipartUploadRequest, "AmazonS3");

            val.set_HttpMethod("POST");
            if (initiateMultipartUploadRequest.IsSetCannedACL())
            {
                val.get_Headers().Add("x-amz-acl", S3Transforms.ToStringValue(ConstantClass.op_Implicit(initiateMultipartUploadRequest.CannedACL)));
            }
            HeadersCollection headers = initiateMultipartUploadRequest.Headers;

            foreach (string key in headers.Keys)
            {
                val.get_Headers().Add(key, headers[key]);
            }
            HeaderACLRequestMarshaller.Marshall(val, initiateMultipartUploadRequest);
            if (initiateMultipartUploadRequest.IsSetServerSideEncryptionMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption", S3Transforms.ToStringValue(ConstantClass.op_Implicit(initiateMultipartUploadRequest.ServerSideEncryptionMethod)));
            }
            if (initiateMultipartUploadRequest.IsSetServerSideEncryptionCustomerMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-algorithm", ConstantClass.op_Implicit(initiateMultipartUploadRequest.ServerSideEncryptionCustomerMethod));
            }
            if (initiateMultipartUploadRequest.IsSetServerSideEncryptionCustomerProvidedKey())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-key", initiateMultipartUploadRequest.ServerSideEncryptionCustomerProvidedKey);
                if (initiateMultipartUploadRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5())
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", initiateMultipartUploadRequest.ServerSideEncryptionCustomerProvidedKeyMD5);
                }
                else
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", AmazonS3Util.ComputeEncodedMD5FromEncodedString(initiateMultipartUploadRequest.ServerSideEncryptionCustomerProvidedKey));
                }
            }
            if (initiateMultipartUploadRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-aws-kms-key-id", initiateMultipartUploadRequest.ServerSideEncryptionKeyManagementServiceKeyId);
            }
            if (initiateMultipartUploadRequest.IsSetStorageClass())
            {
                val.get_Headers().Add("x-amz-storage-class", S3Transforms.ToStringValue(ConstantClass.op_Implicit(initiateMultipartUploadRequest.StorageClass)));
            }
            if (initiateMultipartUploadRequest.IsSetWebsiteRedirectLocation())
            {
                val.get_Headers().Add("x-amz-website-redirect-location", S3Transforms.ToStringValue(initiateMultipartUploadRequest.WebsiteRedirectLocation));
            }
            if (initiateMultipartUploadRequest.IsSetRequestPayer())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(((object)initiateMultipartUploadRequest.RequestPayer).ToString()));
            }
            AmazonS3Util.SetMetadataHeaders(val, initiateMultipartUploadRequest.Metadata);
            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(initiateMultipartUploadRequest.BucketName), S3Transforms.ToStringValue(initiateMultipartUploadRequest.Key)));
            val.AddSubResource("uploads");
            val.set_UseQueryString(true);
            return(val);
        }
Example #3
0
        public IRequest Marshall(ListPartsRequest listPartsRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            IRequest val = new DefaultRequest(listPartsRequest, "AmazonS3");

            if (listPartsRequest.IsSetRequestPayer())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(((object)listPartsRequest.RequestPayer).ToString()));
            }
            val.set_HttpMethod("GET");
            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(listPartsRequest.BucketName), S3Transforms.ToStringValue(listPartsRequest.Key)));
            if (listPartsRequest.IsSetUploadId())
            {
                val.AddSubResource("uploadId", S3Transforms.ToStringValue(listPartsRequest.UploadId));
            }
            if (listPartsRequest.IsSetMaxParts())
            {
                val.get_Parameters().Add("max-parts", S3Transforms.ToStringValue(listPartsRequest.MaxParts));
            }
            if (listPartsRequest.IsSetPartNumberMarker())
            {
                val.get_Parameters().Add("part-number-marker", S3Transforms.ToStringValue(listPartsRequest.PartNumberMarker));
            }
            if (listPartsRequest.IsSetEncoding())
            {
                val.get_Parameters().Add("encoding-type", S3Transforms.ToStringValue(ConstantClass.op_Implicit(listPartsRequest.Encoding)));
            }
            val.set_UseQueryString(true);
            return(val);
        }
Example #4
0
 public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
 {
     if (info != null)
     {
         info.AddValue("deleted", deleted);
         info.AddValue("errors", errors);
         info.AddValue("requestCharged", ConstantClass.op_Implicit(requestCharged));
     }
 }
Example #5
0
 internal void WriteFormData(string boundary, Stream outputStream)
 {
     if (!string.IsNullOrEmpty(Key))
     {
         WriteFormDatum(outputStream, S3Constants.PostFormDataObjectKey, Key, boundary);
     }
     WriteFormDatum(outputStream, S3Constants.PostFormDataAcl, ConstantClass.op_Implicit(CannedACL), boundary);
     if (_isSetStorageClass)
     {
         WriteFormDatum(outputStream, "x-amz-storage-class", ConstantClass.op_Implicit(StorageClass), boundary);
     }
     if (_isSetActionStatus)
     {
         WriteFormDatum(outputStream, S3Constants.PostFormDataStatus, ((int)SuccessActionStatus).ToString((IFormatProvider)CultureInfo.InvariantCulture), boundary);
     }
     if (!string.IsNullOrEmpty(SuccessActionRedirect))
     {
         WriteFormDatum(outputStream, S3Constants.PostFormDataRedirect, SuccessActionRedirect, boundary);
     }
     if (SignedPolicy != null && !string.IsNullOrEmpty(SignedPolicy.SecurityToken))
     {
         Metadata[S3Constants.PostFormDataSecurityToken] = SignedPolicy.SecurityToken;
     }
     foreach (string key in Headers.Keys)
     {
         if (!string.IsNullOrEmpty(Headers[key]))
         {
             WriteFormDatum(outputStream, key, Headers[key], boundary);
         }
     }
     foreach (KeyValuePair <string, string> metadatum in Metadata)
     {
         string name = metadatum.Key.StartsWith(S3Constants.PostFormDataXAmzPrefix, StringComparison.Ordinal) ? metadatum.Key : (S3Constants.PostFormDataMetaPrefix + metadatum.Key);
         WriteFormDatum(outputStream, name, metadatum.Value, boundary);
     }
     if (SignedPolicy != null)
     {
         if (SignedPolicy.SignatureVersion == "2")
         {
             WriteFormDatum(outputStream, S3Constants.PostFormDataPolicy, SignedPolicy.Policy, boundary);
             WriteFormDatum(outputStream, S3Constants.PostFormDataSignature, SignedPolicy.Signature, boundary);
             WriteFormDatum(outputStream, S3Constants.PostFormDataAccessKeyId, SignedPolicy.AccessKeyId, boundary);
         }
         else
         {
             WriteFormDatum(outputStream, S3Constants.PostFormDataPolicy, SignedPolicy.Policy, boundary);
             WriteFormDatum(outputStream, S3Constants.PostFormDataXAmzSignature, SignedPolicy.Signature, boundary);
             WriteFormDatum(outputStream, S3Constants.PostFormDataXAmzAlgorithm, SignedPolicy.Algorithm, boundary);
             WriteFormDatum(outputStream, S3Constants.PostFormDataXAmzCredential, SignedPolicy.Credential, boundary);
             WriteFormDatum(outputStream, S3Constants.PostFormDataXAmzDate, SignedPolicy.Date, boundary);
         }
     }
 }
Example #6
0
 internal void WriteFormData(string boundary, Stream outputStream)
 {
     if (!string.IsNullOrEmpty(Key))
     {
         WriteFormDatum(outputStream, S3Constants.PostFormDataObjectKey, Key, boundary);
     }
     WriteFormDatum(outputStream, S3Constants.PostFormDataAcl, ConstantClass.op_Implicit(CannedACL), boundary);
     if (_isSetStorageClass)
     {
         WriteFormDatum(outputStream, "x-amz-storage-class", ConstantClass.op_Implicit(StorageClass), boundary);
     }
     if (_isSetActionStatus)
     {
         WriteFormDatum(outputStream, S3Constants.PostFormDataStatus, ((int)SuccessActionStatus).ToString((IFormatProvider)CultureInfo.InvariantCulture), boundary);
     }
     if (!string.IsNullOrEmpty(SuccessActionRedirect))
     {
         WriteFormDatum(outputStream, S3Constants.PostFormDataRedirect, SuccessActionRedirect, boundary);
     }
     if (string.IsNullOrEmpty(ContentType))
     {
         if (Key.IndexOf('.') > -1)
         {
             ContentType = AmazonS3Util.MimeTypeFromExtension(Key.Substring(Key.LastIndexOf('.')));
         }
         else if (!string.IsNullOrEmpty(Path) && Path.IndexOf('.') > -1)
         {
             ContentType = AmazonS3Util.MimeTypeFromExtension(Key.Substring(Path.LastIndexOf('.')));
         }
     }
     WriteFormDatum(outputStream, S3Constants.PostFormDataContentType, ContentType, boundary);
     if (SignedPolicy != null && !string.IsNullOrEmpty(SignedPolicy.SecurityToken))
     {
         Metadata[S3Constants.PostFormDataSecurityToken] = SignedPolicy.SecurityToken;
     }
     foreach (KeyValuePair <string, string> metadatum in Metadata)
     {
         string name = metadatum.Key.StartsWith(S3Constants.PostFormDataXAmzPrefix, StringComparison.Ordinal) ? metadatum.Key : (S3Constants.PostFormDataMetaPrefix + metadatum.Key);
         WriteFormDatum(outputStream, name, metadatum.Value, boundary);
     }
     if (SignedPolicy != null)
     {
         WriteFormDatum(outputStream, S3Constants.PostFormDataAccessKeyId, SignedPolicy.AccessKeyId, boundary);
         WriteFormDatum(outputStream, S3Constants.PostFormDataPolicy, SignedPolicy.Policy, boundary);
         WriteFormDatum(outputStream, S3Constants.PostFormDataSignature, SignedPolicy.Signature, boundary);
     }
 }
        public AnalyticsS3BucketDestination Unmarshall(XmlUnmarshallerContext context)
        {
            AnalyticsS3BucketDestination analyticsS3BucketDestination = new AnalyticsS3BucketDestination();
            int currentDepth = context.get_CurrentDepth();
            int num          = currentDepth + 1;

            if (context.get_IsStartOfDocument())
            {
                num += 2;
            }
            while (context.Read())
            {
                if (context.get_IsStartElement() || context.get_IsAttribute())
                {
                    if (context.TestExpression("Format", num))
                    {
                        analyticsS3BucketDestination.Format = ConstantClass.op_Implicit(AnalyticsS3ExportFileFormat.FindValue(StringUnmarshaller.get_Instance().Unmarshall(context)));
                    }
                    else if (context.TestExpression("BucketAccountId", num))
                    {
                        analyticsS3BucketDestination.BucketAccountId = StringUnmarshaller.get_Instance().Unmarshall(context);
                    }
                    else if (context.TestExpression("Bucket", num))
                    {
                        analyticsS3BucketDestination.BucketName = StringUnmarshaller.get_Instance().Unmarshall(context);
                    }
                    else if (context.TestExpression("Prefix", num))
                    {
                        analyticsS3BucketDestination.Prefix = StringUnmarshaller.get_Instance().Unmarshall(context);
                    }
                }
                else if (context.get_IsEndElement() && context.get_CurrentDepth() < currentDepth)
                {
                    return(analyticsS3BucketDestination);
                }
            }
            return(analyticsS3BucketDestination);
        }
        public IRequest Marshall(ListMultipartUploadsRequest listMultipartUploadsRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            IRequest val = new DefaultRequest(listMultipartUploadsRequest, "AmazonS3");

            val.set_HttpMethod("GET");
            val.set_ResourcePath("/" + S3Transforms.ToStringValue(listMultipartUploadsRequest.BucketName));
            val.AddSubResource("uploads");
            if (listMultipartUploadsRequest.IsSetDelimiter())
            {
                val.get_Parameters().Add("delimiter", S3Transforms.ToStringValue(listMultipartUploadsRequest.Delimiter));
            }
            if (listMultipartUploadsRequest.IsSetKeyMarker())
            {
                val.get_Parameters().Add("key-marker", S3Transforms.ToStringValue(listMultipartUploadsRequest.KeyMarker));
            }
            if (listMultipartUploadsRequest.IsSetMaxUploads())
            {
                val.get_Parameters().Add("max-uploads", S3Transforms.ToStringValue(listMultipartUploadsRequest.MaxUploads));
            }
            if (listMultipartUploadsRequest.IsSetPrefix())
            {
                val.get_Parameters().Add("prefix", S3Transforms.ToStringValue(listMultipartUploadsRequest.Prefix));
            }
            if (listMultipartUploadsRequest.IsSetUploadIdMarker())
            {
                val.get_Parameters().Add("upload-id-marker", S3Transforms.ToStringValue(listMultipartUploadsRequest.UploadIdMarker));
            }
            if (listMultipartUploadsRequest.IsSetEncoding())
            {
                val.get_Parameters().Add("encoding-type", S3Transforms.ToStringValue(ConstantClass.op_Implicit(listMultipartUploadsRequest.Encoding)));
            }
            val.set_UseQueryString(true);
            return(val);
        }
Example #9
0
        public IRequest Marshall(GetObjectRequest getObjectRequest)
        {
            //IL_0023: Unknown result type (might be due to invalid IL or missing references)
            //IL_0029: Expected O, but got Unknown
            if (string.IsNullOrEmpty(getObjectRequest.Key))
            {
                throw new ArgumentException("Key is a required property and must be set before making this call.", "GetObjectRequest.Key");
            }
            IRequest val = new DefaultRequest(getObjectRequest, "AmazonS3");

            val.set_HttpMethod("GET");
            if (getObjectRequest.IsSetEtagToMatch())
            {
                val.get_Headers().Add("If-Match", S3Transforms.ToStringValue(getObjectRequest.EtagToMatch));
            }
            if (getObjectRequest.IsSetModifiedSinceDate())
            {
                val.get_Headers().Add("If-Modified-Since", S3Transforms.ToStringValue(getObjectRequest.ModifiedSinceDate));
            }
            if (getObjectRequest.IsSetEtagToNotMatch())
            {
                val.get_Headers().Add("If-None-Match", S3Transforms.ToStringValue(getObjectRequest.EtagToNotMatch));
            }
            if (getObjectRequest.IsSetUnmodifiedSinceDate())
            {
                val.get_Headers().Add("If-Unmodified-Since", S3Transforms.ToStringValue(getObjectRequest.UnmodifiedSinceDate));
            }
            if (getObjectRequest.IsSetByteRange())
            {
                val.get_Headers().Add("Range", getObjectRequest.ByteRange.FormattedByteRange);
            }
            if (getObjectRequest.IsSetServerSideEncryptionCustomerMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-algorithm", ConstantClass.op_Implicit(getObjectRequest.ServerSideEncryptionCustomerMethod));
            }
            if (getObjectRequest.IsSetServerSideEncryptionCustomerProvidedKey())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-key", getObjectRequest.ServerSideEncryptionCustomerProvidedKey);
                if (getObjectRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5())
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", getObjectRequest.ServerSideEncryptionCustomerProvidedKeyMD5);
                }
                else
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", AmazonS3Util.ComputeEncodedMD5FromEncodedString(getObjectRequest.ServerSideEncryptionCustomerProvidedKey));
                }
            }
            if (getObjectRequest.IsSetRequestPayer())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(((object)getObjectRequest.RequestPayer).ToString()));
            }
            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(getObjectRequest.BucketName), S3Transforms.ToStringValue(getObjectRequest.Key)));
            ResponseHeaderOverrides responseHeaderOverrides = getObjectRequest.ResponseHeaderOverrides;

            if (responseHeaderOverrides.CacheControl != null)
            {
                val.get_Parameters().Add("response-cache-control", S3Transforms.ToStringValue(responseHeaderOverrides.CacheControl));
            }
            if (responseHeaderOverrides.ContentDisposition != null)
            {
                val.get_Parameters().Add("response-content-disposition", S3Transforms.ToStringValue(responseHeaderOverrides.ContentDisposition));
            }
            if (responseHeaderOverrides.ContentEncoding != null)
            {
                val.get_Parameters().Add("response-content-encoding", S3Transforms.ToStringValue(responseHeaderOverrides.ContentEncoding));
            }
            if (responseHeaderOverrides.ContentLanguage != null)
            {
                val.get_Parameters().Add("response-content-language", S3Transforms.ToStringValue(responseHeaderOverrides.ContentLanguage));
            }
            if (responseHeaderOverrides.ContentType != null)
            {
                val.get_Parameters().Add("response-content-type", S3Transforms.ToStringValue(responseHeaderOverrides.ContentType));
            }
            if (getObjectRequest.IsSetResponseExpires())
            {
                val.get_Parameters().Add("response-expires", S3Transforms.ToStringValue(getObjectRequest.ResponseExpires));
            }
            if (getObjectRequest.IsSetVersionId())
            {
                val.AddSubResource("versionId", S3Transforms.ToStringValue(getObjectRequest.VersionId));
            }
            if (getObjectRequest.IsSetPartNumber())
            {
                val.AddSubResource("partNumber", S3Transforms.ToStringValue(getObjectRequest.PartNumber.Value));
            }
            val.set_UseQueryString(true);
            return(val);
        }
        public IRequest Marshall(UploadPartRequest uploadPartRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_0160: Unknown result type (might be due to invalid IL or missing references)
            //IL_0166: Expected O, but got Unknown
            //IL_01b4: Unknown result type (might be due to invalid IL or missing references)
            //IL_01ba: Expected O, but got Unknown
            IRequest val = new DefaultRequest(uploadPartRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            if (uploadPartRequest.IsSetMD5Digest())
            {
                val.get_Headers()["Content-MD5"] = uploadPartRequest.MD5Digest;
            }
            if (uploadPartRequest.IsSetServerSideEncryptionCustomerMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-algorithm", ConstantClass.op_Implicit(uploadPartRequest.ServerSideEncryptionCustomerMethod));
            }
            if (uploadPartRequest.IsSetServerSideEncryptionCustomerProvidedKey())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-key", uploadPartRequest.ServerSideEncryptionCustomerProvidedKey);
                if (uploadPartRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5())
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", uploadPartRequest.ServerSideEncryptionCustomerProvidedKeyMD5);
                }
                else
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", AmazonS3Util.ComputeEncodedMD5FromEncodedString(uploadPartRequest.ServerSideEncryptionCustomerProvidedKey));
                }
            }
            if (uploadPartRequest.IsSetRequestPayer())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(((object)uploadPartRequest.RequestPayer).ToString()));
            }
            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(uploadPartRequest.BucketName), S3Transforms.ToStringValue(uploadPartRequest.Key)));
            if (uploadPartRequest.IsSetPartNumber())
            {
                val.AddSubResource("partNumber", S3Transforms.ToStringValue(uploadPartRequest.PartNumber));
            }
            if (uploadPartRequest.IsSetUploadId())
            {
                val.AddSubResource("uploadId", S3Transforms.ToStringValue(uploadPartRequest.UploadId));
            }
            if (uploadPartRequest.InputStream != null)
            {
                PartialWrapperStream val2 = new PartialWrapperStream(uploadPartRequest.InputStream, uploadPartRequest.PartSize);
                if (((Stream)val2).Length > 0)
                {
                    val.set_UseChunkEncoding(true);
                }
                if (!val.get_Headers().ContainsKey("Content-Length"))
                {
                    val.get_Headers().Add("Content-Length", ((Stream)val2).Length.ToString(CultureInfo.InvariantCulture));
                }
                MD5Stream val3 = uploadPartRequest.InputStream = (Stream) new MD5Stream((Stream)val2, (byte[])null, ((Stream)val2).Length);
            }
            val.set_ContentStream(uploadPartRequest.InputStream);
            if (!val.get_Headers().ContainsKey("Content-Type"))
            {
                val.get_Headers().Add("Content-Type", "text/plain");
            }
            return(val);
        }
        public IRequest Marshall(GetObjectMetadataRequest headObjectRequest)
        {
            //IL_0023: Unknown result type (might be due to invalid IL or missing references)
            //IL_0029: Expected O, but got Unknown
            if (string.IsNullOrEmpty(headObjectRequest.Key))
            {
                throw new ArgumentException("Key is a required property and must be set before making this call.", "GetObjectMetadataRequest.Key");
            }
            IRequest val = new DefaultRequest(headObjectRequest, "AmazonS3");

            val.set_HttpMethod("HEAD");
            if (headObjectRequest.IsSetEtagToMatch())
            {
                val.get_Headers().Add("If-Match", S3Transforms.ToStringValue(headObjectRequest.EtagToMatch));
            }
            if (headObjectRequest.IsSetModifiedSinceDate())
            {
                val.get_Headers().Add("If-Modified-Since", S3Transforms.ToStringValue(headObjectRequest.ModifiedSinceDate));
            }
            if (headObjectRequest.IsSetEtagToNotMatch())
            {
                val.get_Headers().Add("If-None-Match", S3Transforms.ToStringValue(headObjectRequest.EtagToNotMatch));
            }
            if (headObjectRequest.IsSetUnmodifiedSinceDate())
            {
                val.get_Headers().Add("If-Unmodified-Since", S3Transforms.ToStringValue(headObjectRequest.UnmodifiedSinceDate));
            }
            if (headObjectRequest.IsSetServerSideEncryptionCustomerMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-algorithm", ConstantClass.op_Implicit(headObjectRequest.ServerSideEncryptionCustomerMethod));
            }
            if (headObjectRequest.IsSetServerSideEncryptionCustomerProvidedKey())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-key", headObjectRequest.ServerSideEncryptionCustomerProvidedKey);
                if (headObjectRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5())
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", headObjectRequest.ServerSideEncryptionCustomerProvidedKeyMD5);
                }
                else
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", AmazonS3Util.ComputeEncodedMD5FromEncodedString(headObjectRequest.ServerSideEncryptionCustomerProvidedKey));
                }
            }
            if (headObjectRequest.IsSetRequestPayer())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(((object)headObjectRequest.RequestPayer).ToString()));
            }
            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(headObjectRequest.BucketName), S3Transforms.ToStringValue(headObjectRequest.Key)));
            if (headObjectRequest.IsSetVersionId())
            {
                val.AddSubResource("versionId", S3Transforms.ToStringValue(headObjectRequest.VersionId));
            }
            if (headObjectRequest.IsSetPartNumber())
            {
                val.AddSubResource("partNumber", S3Transforms.ToStringValue(headObjectRequest.PartNumber.Value));
            }
            val.set_UseQueryString(true);
            return(val);
        }
Example #12
0
        public IRequest Marshall(RestoreObjectRequest restoreObjectRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_018f: Unknown result type (might be due to invalid IL or missing references)
            IRequest val = new DefaultRequest(restoreObjectRequest, "AmazonS3");

            val.set_HttpMethod("POST");
            if (restoreObjectRequest.IsSetRequestPayer())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(((object)restoreObjectRequest.RequestPayer).ToString()));
            }
            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(restoreObjectRequest.BucketName), S3Transforms.ToStringValue(restoreObjectRequest.Key)));
            val.AddSubResource("restore");
            if (restoreObjectRequest.IsSetVersionId())
            {
                val.AddSubResource("versionId", S3Transforms.ToStringValue(restoreObjectRequest.VersionId));
            }
            StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);

            using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Encoding = Encoding.UTF8,
                OmitXmlDeclaration = true
            }))
            {
                xmlWriter.WriteStartElement("RestoreRequest", "");
                xmlWriter.WriteElementString("Days", "", S3Transforms.ToXmlStringValue(restoreObjectRequest.Days));
                xmlWriter.WriteStartElement("GlacierJobParameters", "");
                xmlWriter.WriteElementString("Tier", "", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(restoreObjectRequest.Tier)));
                xmlWriter.WriteEndElement();
                xmlWriter.WriteEndElement();
            }
            try
            {
                string text = stringWriter.ToString();
                val.set_Content(Encoding.UTF8.GetBytes(text));
                val.get_Headers()["Content-Type"] = "application/xml";
                string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
                val.get_Headers()["Content-MD5"] = value;
                return(val);
            }
            catch (EncoderFallbackException ex)
            {
                throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
            }
        }
        public IRequest Marshall(PutBucketLoggingRequest putBucketLoggingRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_0303: Unknown result type (might be due to invalid IL or missing references)
            IRequest val = new DefaultRequest(putBucketLoggingRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            val.set_ResourcePath("/" + S3Transforms.ToStringValue(putBucketLoggingRequest.BucketName));
            val.AddSubResource("logging");
            StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);

            using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Encoding = Encoding.UTF8,
                OmitXmlDeclaration = true
            }))
            {
                xmlWriter.WriteStartElement("BucketLoggingStatus", "");
                S3BucketLoggingConfig loggingConfig = putBucketLoggingRequest.LoggingConfig;
                if (loggingConfig != null && loggingConfig != null)
                {
                    S3BucketLoggingConfig s3BucketLoggingConfig = loggingConfig;
                    if (s3BucketLoggingConfig != null && s3BucketLoggingConfig.IsSetTargetBucket())
                    {
                        xmlWriter.WriteStartElement("LoggingEnabled", "");
                        xmlWriter.WriteElementString("TargetBucket", "", S3Transforms.ToXmlStringValue(s3BucketLoggingConfig.TargetBucketName));
                        List <S3Grant> grants = s3BucketLoggingConfig.Grants;
                        if (grants != null && grants.Count > 0)
                        {
                            xmlWriter.WriteStartElement("TargetGrants", "");
                            foreach (S3Grant item in grants)
                            {
                                xmlWriter.WriteStartElement("Grant", "");
                                if (item != null)
                                {
                                    S3Grantee grantee = item.Grantee;
                                    if (grantee != null)
                                    {
                                        xmlWriter.WriteStartElement("Grantee", "");
                                        if (grantee.IsSetType())
                                        {
                                            xmlWriter.WriteAttributeString("xsi", "type", "http://www.w3.org/2001/XMLSchema-instance", ((object)grantee.Type).ToString());
                                        }
                                        if (grantee.IsSetDisplayName())
                                        {
                                            xmlWriter.WriteElementString("DisplayName", "", S3Transforms.ToXmlStringValue(grantee.DisplayName));
                                        }
                                        if (grantee.IsSetEmailAddress())
                                        {
                                            xmlWriter.WriteElementString("EmailAddress", "", S3Transforms.ToXmlStringValue(grantee.EmailAddress));
                                        }
                                        if (grantee.IsSetCanonicalUser())
                                        {
                                            xmlWriter.WriteElementString("ID", "", S3Transforms.ToXmlStringValue(grantee.CanonicalUser));
                                        }
                                        if (grantee.IsSetURI())
                                        {
                                            xmlWriter.WriteElementString("URI", "", S3Transforms.ToXmlStringValue(grantee.URI));
                                        }
                                        xmlWriter.WriteEndElement();
                                    }
                                    if (item.IsSetPermission())
                                    {
                                        xmlWriter.WriteElementString("Permission", "", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(item.Permission)));
                                    }
                                }
                                xmlWriter.WriteEndElement();
                            }
                            xmlWriter.WriteEndElement();
                        }
                        if (s3BucketLoggingConfig.IsSetTargetPrefix())
                        {
                            xmlWriter.WriteElementString("TargetPrefix", "", S3Transforms.ToXmlStringValue(s3BucketLoggingConfig.TargetPrefix));
                        }
                        else
                        {
                            xmlWriter.WriteStartElement("TargetPrefix");
                            xmlWriter.WriteEndElement();
                        }
                        xmlWriter.WriteEndElement();
                    }
                }
                xmlWriter.WriteEndElement();
            }
            try
            {
                string text = stringWriter.ToString();
                val.set_Content(Encoding.UTF8.GetBytes(text));
                val.get_Headers()["Content-Type"] = "application/xml";
                string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
                val.get_Headers()["Content-MD5"] = value;
                return(val);
            }
            catch (EncoderFallbackException ex)
            {
                throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
            }
        }
Example #14
0
        public IRequest Marshall(CopyObjectRequest copyObjectRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            IRequest val = new DefaultRequest(copyObjectRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            if (copyObjectRequest.IsSetCannedACL())
            {
                val.get_Headers().Add("x-amz-acl", S3Transforms.ToStringValue(ConstantClass.op_Implicit(copyObjectRequest.CannedACL)));
            }
            HeadersCollection headers = copyObjectRequest.Headers;

            foreach (string key in headers.Keys)
            {
                val.get_Headers()[key] = headers[key];
            }
            HeaderACLRequestMarshaller.Marshall(val, copyObjectRequest);
            if (copyObjectRequest.IsSetSourceBucket())
            {
                val.get_Headers().Add("x-amz-copy-source", ConstructCopySourceHeaderValue(copyObjectRequest.SourceBucket, copyObjectRequest.SourceKey, copyObjectRequest.SourceVersionId));
            }
            if (copyObjectRequest.IsSetETagToMatch())
            {
                val.get_Headers().Add("x-amz-copy-source-if-match", S3Transforms.ToStringValue(copyObjectRequest.ETagToMatch));
            }
            if (copyObjectRequest.IsSetModifiedSinceDate())
            {
                val.get_Headers().Add("x-amz-copy-source-if-modified-since", S3Transforms.ToStringValue(copyObjectRequest.ModifiedSinceDate));
            }
            if (copyObjectRequest.IsSetETagToNotMatch())
            {
                val.get_Headers().Add("x-amz-copy-source-if-none-match", S3Transforms.ToStringValue(copyObjectRequest.ETagToNotMatch));
            }
            if (copyObjectRequest.IsSetUnmodifiedSinceDate())
            {
                val.get_Headers().Add("x-amz-copy-source-if-unmodified-since", S3Transforms.ToStringValue(copyObjectRequest.UnmodifiedSinceDate));
            }
            if (copyObjectRequest.IsSetTagSet())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderTagging, AmazonS3Util.TagSetToQueryString(copyObjectRequest.TagSet));
                val.get_Headers().Add(S3Constants.AmzHeaderTaggingDirective, TaggingDirective.REPLACE.get_Value());
            }
            else
            {
                val.get_Headers().Add(S3Constants.AmzHeaderTaggingDirective, TaggingDirective.COPY.get_Value());
            }
            val.get_Headers().Add("x-amz-metadata-directive", S3Transforms.ToStringValue(copyObjectRequest.MetadataDirective.ToString()));
            if (copyObjectRequest.IsSetServerSideEncryptionMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption", S3Transforms.ToStringValue(ConstantClass.op_Implicit(copyObjectRequest.ServerSideEncryptionMethod)));
            }
            if (copyObjectRequest.IsSetServerSideEncryptionCustomerMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-algorithm", ConstantClass.op_Implicit(copyObjectRequest.ServerSideEncryptionCustomerMethod));
            }
            if (copyObjectRequest.IsSetServerSideEncryptionCustomerProvidedKey())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-key", copyObjectRequest.ServerSideEncryptionCustomerProvidedKey);
                if (copyObjectRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5())
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", copyObjectRequest.ServerSideEncryptionCustomerProvidedKeyMD5);
                }
                else
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", AmazonS3Util.ComputeEncodedMD5FromEncodedString(copyObjectRequest.ServerSideEncryptionCustomerProvidedKey));
                }
            }
            if (copyObjectRequest.IsSetCopySourceServerSideEncryptionCustomerMethod())
            {
                val.get_Headers().Add("x-amz-copy-source-server-side-encryption-customer-algorithm", ConstantClass.op_Implicit(copyObjectRequest.CopySourceServerSideEncryptionCustomerMethod));
            }
            if (copyObjectRequest.IsSetCopySourceServerSideEncryptionCustomerProvidedKey())
            {
                val.get_Headers().Add("x-amz-copy-source-server-side-encryption-customer-key", copyObjectRequest.CopySourceServerSideEncryptionCustomerProvidedKey);
                if (copyObjectRequest.IsSetCopySourceServerSideEncryptionCustomerProvidedKeyMD5())
                {
                    val.get_Headers().Add("x-amz-copy-source-server-side-encryption-customer-key-MD5", copyObjectRequest.CopySourceServerSideEncryptionCustomerProvidedKeyMD5);
                }
                else
                {
                    val.get_Headers().Add("x-amz-copy-source-server-side-encryption-customer-key-MD5", AmazonS3Util.ComputeEncodedMD5FromEncodedString(copyObjectRequest.CopySourceServerSideEncryptionCustomerProvidedKey));
                }
            }
            if (copyObjectRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-aws-kms-key-id", copyObjectRequest.ServerSideEncryptionKeyManagementServiceKeyId);
            }
            if (copyObjectRequest.IsSetStorageClass())
            {
                val.get_Headers().Add("x-amz-storage-class", S3Transforms.ToStringValue(ConstantClass.op_Implicit(copyObjectRequest.StorageClass)));
            }
            if (copyObjectRequest.IsSetWebsiteRedirectLocation())
            {
                val.get_Headers().Add("x-amz-website-redirect-location", S3Transforms.ToStringValue(copyObjectRequest.WebsiteRedirectLocation));
            }
            if (copyObjectRequest.IsSetRequestPayer())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(((object)copyObjectRequest.RequestPayer).ToString()));
            }
            AmazonS3Util.SetMetadataHeaders(val, copyObjectRequest.Metadata);
            string value = copyObjectRequest.DestinationKey.StartsWith("/", StringComparison.Ordinal) ? copyObjectRequest.DestinationKey.Substring(1) : copyObjectRequest.DestinationKey;

            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(copyObjectRequest.DestinationBucket), S3Transforms.ToStringValue(value)));
            val.set_UseQueryString(true);
            return(val);
        }
        public IRequest Marshall(PutObjectRequest putObjectRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_02b8: Unknown result type (might be due to invalid IL or missing references)
            //IL_02bf: Expected O, but got Unknown
            IRequest val = new DefaultRequest(putObjectRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            if (putObjectRequest.IsSetCannedACL())
            {
                val.get_Headers().Add("x-amz-acl", S3Transforms.ToStringValue(ConstantClass.op_Implicit(putObjectRequest.CannedACL)));
            }
            HeadersCollection headers = putObjectRequest.Headers;

            foreach (string key in headers.Keys)
            {
                val.get_Headers()[key] = headers[key];
            }
            if (putObjectRequest.IsSetMD5Digest())
            {
                val.get_Headers()["Content-MD5"] = putObjectRequest.MD5Digest;
            }
            HeaderACLRequestMarshaller.Marshall(val, putObjectRequest);
            if (putObjectRequest.IsSetServerSideEncryptionMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption", S3Transforms.ToStringValue(ConstantClass.op_Implicit(putObjectRequest.ServerSideEncryptionMethod)));
            }
            if (putObjectRequest.IsSetStorageClass())
            {
                val.get_Headers().Add("x-amz-storage-class", S3Transforms.ToStringValue(ConstantClass.op_Implicit(putObjectRequest.StorageClass)));
            }
            if (putObjectRequest.IsSetWebsiteRedirectLocation())
            {
                val.get_Headers().Add("x-amz-website-redirect-location", S3Transforms.ToStringValue(putObjectRequest.WebsiteRedirectLocation));
            }
            if (putObjectRequest.IsSetServerSideEncryptionCustomerMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-algorithm", ConstantClass.op_Implicit(putObjectRequest.ServerSideEncryptionCustomerMethod));
            }
            if (putObjectRequest.IsSetServerSideEncryptionCustomerProvidedKey())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-key", putObjectRequest.ServerSideEncryptionCustomerProvidedKey);
                if (putObjectRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5())
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", putObjectRequest.ServerSideEncryptionCustomerProvidedKeyMD5);
                }
                else
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", AmazonS3Util.ComputeEncodedMD5FromEncodedString(putObjectRequest.ServerSideEncryptionCustomerProvidedKey));
                }
            }
            if (putObjectRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-aws-kms-key-id", putObjectRequest.ServerSideEncryptionKeyManagementServiceKeyId);
            }
            if (putObjectRequest.IsSetRequestPayer())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(((object)putObjectRequest.RequestPayer).ToString()));
            }
            if (putObjectRequest.IsSetTagSet())
            {
                val.get_Headers().Add(S3Constants.AmzHeaderTagging, AmazonS3Util.TagSetToQueryString(putObjectRequest.TagSet));
            }
            AmazonS3Util.SetMetadataHeaders(val, putObjectRequest.Metadata);
            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(putObjectRequest.BucketName), S3Transforms.ToStringValue(putObjectRequest.Key)));
            if (putObjectRequest.InputStream != null)
            {
                Stream streamWithLength = GetStreamWithLength(putObjectRequest.InputStream, putObjectRequest.Headers.ContentLength);
                if (streamWithLength.Length > 0)
                {
                    val.set_UseChunkEncoding(true);
                }
                long num = streamWithLength.Length - streamWithLength.Position;
                if (!val.get_Headers().ContainsKey("Content-Length"))
                {
                    val.get_Headers().Add("Content-Length", num.ToString(CultureInfo.InvariantCulture));
                }
                MD5Stream val2 = putObjectRequest.InputStream = (Stream) new MD5Stream(streamWithLength, (byte[])null, num);
            }
            val.set_ContentStream(putObjectRequest.InputStream);
            if (!val.get_Headers().ContainsKey("Content-Type"))
            {
                val.get_Headers().Add("Content-Type", "text/plain");
            }
            return(val);
        }
 private static void WriteConfigurationCommon(XmlWriter xmlWriter, NotificationConfiguration notificationConfiguration)
 {
     if (notificationConfiguration.IsSetEvents())
     {
         foreach (EventType @event in notificationConfiguration.Events)
         {
             xmlWriter.WriteElementString("Event", "", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(@event)));
         }
     }
     if (notificationConfiguration.IsSetFilter())
     {
         xmlWriter.WriteStartElement("Filter", "");
         Filter filter = notificationConfiguration.Filter;
         if (filter.IsSetS3KeyFilter())
         {
             xmlWriter.WriteStartElement("S3Key", "");
             S3KeyFilter s3KeyFilter = filter.S3KeyFilter;
             if (s3KeyFilter.IsSetFilterRules())
             {
                 foreach (FilterRule filterRule in s3KeyFilter.FilterRules)
                 {
                     if (filterRule != null)
                     {
                         xmlWriter.WriteStartElement("FilterRule", "");
                         xmlWriter.WriteElementString("Name", filterRule.Name);
                         xmlWriter.WriteElementString("Value", filterRule.Value);
                         xmlWriter.WriteEndElement();
                     }
                 }
             }
             xmlWriter.WriteEndElement();
         }
         xmlWriter.WriteEndElement();
     }
 }
 private static void ValidateSseHeaderValue(IRequest request)
 {
     //IL_002b: Unknown result type (might be due to invalid IL or missing references)
     if (request.get_Headers().TryGetValue("x-amz-server-side-encryption", out string value) && string.Equals(value, ConstantClass.op_Implicit(ServerSideEncryptionMethod.AWSKMS)))
     {
         throw new AmazonClientException("Request specifying Server Side Encryption with AWS KMS managed keys can only be transmitted over HTTPS");
     }
 }
		public IRequest Marshall(PutBucketReplicationRequest putBucketreplicationRequest)
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			//IL_026a: Unknown result type (might be due to invalid IL or missing references)
			IRequest val = new DefaultRequest(putBucketreplicationRequest, "AmazonS3");
			val.set_HttpMethod("PUT");
			val.set_ResourcePath("/" + S3Transforms.ToStringValue(putBucketreplicationRequest.BucketName));
			val.AddSubResource("replication");
			StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);
			using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
			{
				Encoding = Encoding.UTF8,
				OmitXmlDeclaration = true
			}))
			{
				ReplicationConfiguration configuration = putBucketreplicationRequest.Configuration;
				if (configuration != null)
				{
					xmlWriter.WriteStartElement("ReplicationConfiguration", "");
					if (configuration.Role != null)
					{
						xmlWriter.WriteElementString("Role", "", S3Transforms.ToXmlStringValue(configuration.Role));
					}
					if (configuration.Rules != null)
					{
						foreach (ReplicationRule rule in configuration.Rules)
						{
							xmlWriter.WriteStartElement("Rule");
							if (rule.IsSetId())
							{
								xmlWriter.WriteElementString("ID", "", S3Transforms.ToXmlStringValue(rule.Id));
							}
							if (rule.IsSetPrefix())
							{
								xmlWriter.WriteElementString("Prefix", "", S3Transforms.ToXmlStringValue(rule.Prefix));
							}
							else
							{
								xmlWriter.WriteElementString("Prefix", "", S3Transforms.ToXmlStringValue(""));
							}
							if (rule.IsSetStatus())
							{
								xmlWriter.WriteElementString("Status", "", S3Transforms.ToXmlStringValue(((object)rule.Status).ToString()));
							}
							if (rule.IsSetDestination())
							{
								xmlWriter.WriteStartElement("Destination", "");
								if (rule.Destination.IsSetBucketArn())
								{
									xmlWriter.WriteElementString("Bucket", "", rule.Destination.BucketArn);
								}
								if (rule.Destination.IsSetStorageClass())
								{
									xmlWriter.WriteElementString("StorageClass", "", ConstantClass.op_Implicit(rule.Destination.StorageClass));
								}
								xmlWriter.WriteEndElement();
							}
							xmlWriter.WriteEndElement();
						}
					}
					xmlWriter.WriteEndElement();
				}
			}
			try
			{
				string text = stringWriter.ToString();
				val.set_Content(Encoding.UTF8.GetBytes(text));
				val.get_Headers()["Content-Type"] = "application/xml";
				string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
				val.get_Headers()["Content-MD5"] = value;
				return val;
			}
			catch (EncoderFallbackException ex)
			{
				throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
			}
		}
        public IRequest Marshall(PutBucketAccelerateConfigurationRequest putBucketAccelerateRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_0123: Unknown result type (might be due to invalid IL or missing references)
            IRequest val = new DefaultRequest(putBucketAccelerateRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            val.set_ResourcePath("/" + S3Transforms.ToStringValue(putBucketAccelerateRequest.BucketName));
            val.AddSubResource("accelerate");
            StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);

            using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Encoding = Encoding.UTF8,
                OmitXmlDeclaration = true
            }))
            {
                AccelerateConfiguration accelerateConfiguration = putBucketAccelerateRequest.AccelerateConfiguration;
                if (accelerateConfiguration != null)
                {
                    xmlWriter.WriteStartElement("AccelerateConfiguration", "");
                    BucketAccelerateStatus status = accelerateConfiguration.Status;
                    if (accelerateConfiguration.IsSetBucketAccelerateStatus() && status != null)
                    {
                        xmlWriter.WriteElementString("Status", "", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(accelerateConfiguration.Status)));
                    }
                    xmlWriter.WriteEndElement();
                }
            }
            try
            {
                string text = stringWriter.ToString();
                val.set_Content(Encoding.UTF8.GetBytes(text));
                val.get_Headers()["Content-Type"] = "application/xml";
                string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
                val.get_Headers()["Content-MD5"] = value;
                return(val);
            }
            catch (EncoderFallbackException ex)
            {
                throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
            }
        }
        public IRequest Marshall(PutBucketVersioningRequest putBucketVersioningRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_0160: Unknown result type (might be due to invalid IL or missing references)
            IRequest val = new DefaultRequest(putBucketVersioningRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            if (putBucketVersioningRequest.IsSetMfaCodes())
            {
                val.get_Headers().Add("x-amz-mfa", putBucketVersioningRequest.MfaCodes.FormattedMfaCodes);
            }
            val.set_ResourcePath("/" + S3Transforms.ToStringValue(putBucketVersioningRequest.BucketName));
            val.AddSubResource("versioning");
            StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);

            using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Encoding = Encoding.UTF8,
                OmitXmlDeclaration = true
            }))
            {
                S3BucketVersioningConfig versioningConfig = putBucketVersioningRequest.VersioningConfig;
                if (versioningConfig != null)
                {
                    xmlWriter.WriteStartElement("VersioningConfiguration", "");
                    if (versioningConfig.IsSetEnableMfaDelete())
                    {
                        xmlWriter.WriteElementString("MfaDelete", "", versioningConfig.EnableMfaDelete ? "Enabled" : "Disabled");
                    }
                    if (versioningConfig.IsSetStatus())
                    {
                        xmlWriter.WriteElementString("Status", "", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(versioningConfig.Status)));
                    }
                    xmlWriter.WriteEndElement();
                }
            }
            try
            {
                string text = stringWriter.ToString();
                val.set_Content(Encoding.UTF8.GetBytes(text));
                val.get_Headers()["Content-Type"] = "application/xml";
                string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
                val.get_Headers()["Content-MD5"] = value;
                return(val);
            }
            catch (EncoderFallbackException ex)
            {
                throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
            }
        }
        public IRequest Marshall(PutLifecycleConfigurationRequest putLifecycleConfigurationRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_03d1: Unknown result type (might be due to invalid IL or missing references)
            //IL_050c: Unknown result type (might be due to invalid IL or missing references)
            IRequest val = new DefaultRequest(putLifecycleConfigurationRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            val.set_ResourcePath("/" + S3Transforms.ToStringValue(putLifecycleConfigurationRequest.BucketName));
            val.AddSubResource("lifecycle");
            StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);

            using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Encoding = Encoding.UTF8,
                OmitXmlDeclaration = true
            }))
            {
                LifecycleConfiguration configuration = putLifecycleConfigurationRequest.Configuration;
                if (configuration != null)
                {
                    xmlWriter.WriteStartElement("LifecycleConfiguration", "");
                    if (configuration != null)
                    {
                        List <LifecycleRule> rules = configuration.Rules;
                        if (rules != null && rules.Count > 0)
                        {
                            foreach (LifecycleRule item in rules)
                            {
                                xmlWriter.WriteStartElement("Rule", "");
                                if (item != null)
                                {
                                    LifecycleRuleExpiration expiration = item.Expiration;
                                    if (expiration != null)
                                    {
                                        xmlWriter.WriteStartElement("Expiration", "");
                                        if (expiration.IsSetDate())
                                        {
                                            xmlWriter.WriteElementString("Date", "", S3Transforms.ToXmlStringValue(expiration.Date));
                                        }
                                        if (expiration.IsSetDays())
                                        {
                                            xmlWriter.WriteElementString("Days", "", S3Transforms.ToXmlStringValue(expiration.Days));
                                        }
                                        if (expiration.IsSetExpiredObjectDeleteMarker())
                                        {
                                            xmlWriter.WriteElementString("ExpiredObjectDeleteMarker", "", expiration.ExpiredObjectDeleteMarker.ToString().ToLowerInvariant());
                                        }
                                        xmlWriter.WriteEndElement();
                                    }
                                    List <LifecycleTransition> transitions = item.Transitions;
                                    if (transitions != null && transitions.Count > 0)
                                    {
                                        foreach (LifecycleTransition item2 in transitions)
                                        {
                                            if (item2 != null)
                                            {
                                                xmlWriter.WriteStartElement("Transition", "");
                                                if (item2.IsSetDate())
                                                {
                                                    xmlWriter.WriteElementString("Date", "", S3Transforms.ToXmlStringValue(item2.Date));
                                                }
                                                if (item2.IsSetDays())
                                                {
                                                    xmlWriter.WriteElementString("Days", "", S3Transforms.ToXmlStringValue(item2.Days));
                                                }
                                                if (item2.IsSetStorageClass())
                                                {
                                                    xmlWriter.WriteElementString("StorageClass", "", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(item2.StorageClass)));
                                                }
                                                xmlWriter.WriteEndElement();
                                            }
                                        }
                                    }
                                    LifecycleRuleNoncurrentVersionExpiration noncurrentVersionExpiration = item.NoncurrentVersionExpiration;
                                    if (noncurrentVersionExpiration != null)
                                    {
                                        xmlWriter.WriteStartElement("NoncurrentVersionExpiration", "");
                                        if (noncurrentVersionExpiration.IsSetNoncurrentDays())
                                        {
                                            xmlWriter.WriteElementString("NoncurrentDays", "", S3Transforms.ToXmlStringValue(noncurrentVersionExpiration.NoncurrentDays));
                                        }
                                        xmlWriter.WriteEndElement();
                                    }
                                    List <LifecycleRuleNoncurrentVersionTransition> noncurrentVersionTransitions = item.NoncurrentVersionTransitions;
                                    if (noncurrentVersionTransitions != null && noncurrentVersionTransitions.Count > 0)
                                    {
                                        foreach (LifecycleRuleNoncurrentVersionTransition item3 in noncurrentVersionTransitions)
                                        {
                                            if (item3 != null)
                                            {
                                                xmlWriter.WriteStartElement("NoncurrentVersionTransition", "");
                                                if (item3.IsSetNoncurrentDays())
                                                {
                                                    xmlWriter.WriteElementString("NoncurrentDays", "", S3Transforms.ToXmlStringValue(item3.NoncurrentDays));
                                                }
                                                if (item3.IsSetStorageClass())
                                                {
                                                    xmlWriter.WriteElementString("StorageClass", "", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(item3.StorageClass)));
                                                }
                                                xmlWriter.WriteEndElement();
                                            }
                                        }
                                    }
                                    LifecycleRuleAbortIncompleteMultipartUpload abortIncompleteMultipartUpload = item.AbortIncompleteMultipartUpload;
                                    if (abortIncompleteMultipartUpload != null)
                                    {
                                        xmlWriter.WriteStartElement("AbortIncompleteMultipartUpload", "");
                                        if (abortIncompleteMultipartUpload.IsSetDaysAfterInitiation())
                                        {
                                            xmlWriter.WriteElementString("DaysAfterInitiation", "", S3Transforms.ToXmlStringValue(abortIncompleteMultipartUpload.DaysAfterInitiation));
                                        }
                                        xmlWriter.WriteEndElement();
                                    }
                                }
                                if (item.IsSetId())
                                {
                                    xmlWriter.WriteElementString("ID", "", S3Transforms.ToXmlStringValue(item.Id));
                                }
                                if (item.IsSetPrefix() && item.IsSetFilter())
                                {
                                    throw new AmazonClientException("LifecycleRule.Prefix is deprecated.  Please only use LifecycleRule.Filter.");
                                }
                                if (item.IsSetPrefix())
                                {
                                    xmlWriter.WriteElementString("Prefix", "", S3Transforms.ToXmlStringValue(item.Prefix));
                                }
                                if (item.IsSetFilter())
                                {
                                    xmlWriter.WriteStartElement("Filter", "");
                                    if (item.Filter.IsSetLifecycleFilterPredicate())
                                    {
                                        item.Filter.LifecycleFilterPredicate.Accept(new LifecycleFilterPredicateMarshallVisitor(xmlWriter));
                                    }
                                    xmlWriter.WriteEndElement();
                                }
                                if (item.IsSetStatus())
                                {
                                    xmlWriter.WriteElementString("Status", "", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(item.Status)));
                                }
                                else
                                {
                                    xmlWriter.WriteElementString("Status", "", "Disabled");
                                }
                                xmlWriter.WriteEndElement();
                            }
                        }
                    }
                    xmlWriter.WriteEndElement();
                }
            }
            try
            {
                string text = stringWriter.ToString();
                val.set_Content(Encoding.UTF8.GetBytes(text));
                val.get_Headers()["Content-Type"] = "application/xml";
                string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
                val.get_Headers()["Content-MD5"] = value;
                return(val);
            }
            catch (EncoderFallbackException ex)
            {
                throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
            }
        }
        public IRequest Marshall(PutBucketAnalyticsConfigurationRequest putBucketAnalyticsConfigurationRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_02c9: Unknown result type (might be due to invalid IL or missing references)
            IRequest val = new DefaultRequest(putBucketAnalyticsConfigurationRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            val.set_ResourcePath("/" + S3Transforms.ToStringValue(putBucketAnalyticsConfigurationRequest.BucketName));
            val.AddSubResource("analytics");
            if (putBucketAnalyticsConfigurationRequest.IsSetAnalyticsId())
            {
                val.AddSubResource("id", S3Transforms.ToStringValue(putBucketAnalyticsConfigurationRequest.AnalyticsId));
            }
            StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);

            using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Encoding = Encoding.UTF8,
                OmitXmlDeclaration = true
            }))
            {
                if (putBucketAnalyticsConfigurationRequest.IsSetAnalyticsConfiguration())
                {
                    AnalyticsConfiguration analyticsConfiguration = putBucketAnalyticsConfigurationRequest.AnalyticsConfiguration;
                    xmlWriter.WriteStartElement("AnalyticsConfiguration", "http://s3.amazonaws.com/doc/2006-03-01/");
                    if (analyticsConfiguration.IsSetAnalyticsId())
                    {
                        xmlWriter.WriteElementString("Id", "http://s3.amazonaws.com/doc/2006-03-01/", analyticsConfiguration.AnalyticsId);
                    }
                    if (analyticsConfiguration.IsSetAnalyticsFilter())
                    {
                        xmlWriter.WriteStartElement("Filter", "http://s3.amazonaws.com/doc/2006-03-01/");
                        analyticsConfiguration.AnalyticsFilter.AnalyticsFilterPredicate.Accept(new AnalyticsPredicateVisitor(xmlWriter));
                        xmlWriter.WriteEndElement();
                    }
                    if (analyticsConfiguration.IsSetStorageClassAnalysis() && analyticsConfiguration.IsSetStorageClassAnalysis())
                    {
                        StorageClassAnalysis storageClassAnalysis = analyticsConfiguration.StorageClassAnalysis;
                        xmlWriter.WriteStartElement("StorageClassAnalysis", "http://s3.amazonaws.com/doc/2006-03-01/");
                        if (storageClassAnalysis.IsSetDataExport())
                        {
                            xmlWriter.WriteStartElement("DataExport", "http://s3.amazonaws.com/doc/2006-03-01/");
                            StorageClassAnalysisDataExport dataExport = storageClassAnalysis.DataExport;
                            if (dataExport.IsSetOutputSchemaVersion())
                            {
                                StorageClassAnalysisSchemaVersion outputSchemaVersion = dataExport.OutputSchemaVersion;
                                if (outputSchemaVersion != null)
                                {
                                    xmlWriter.WriteElementString("OutputSchemaVersion", "http://s3.amazonaws.com/doc/2006-03-01/", ConstantClass.op_Implicit(outputSchemaVersion));
                                }
                            }
                            if (dataExport.IsSetDestination())
                            {
                                xmlWriter.WriteStartElement("Destination", "http://s3.amazonaws.com/doc/2006-03-01/");
                                AnalyticsExportDestination destination = dataExport.Destination;
                                if (destination.IsSetS3BucketDestination())
                                {
                                    xmlWriter.WriteStartElement("S3BucketDestination", "http://s3.amazonaws.com/doc/2006-03-01/");
                                    AnalyticsS3BucketDestination s3BucketDestination = destination.S3BucketDestination;
                                    if (s3BucketDestination.IsSetFormat())
                                    {
                                        xmlWriter.WriteElementString("Format", "http://s3.amazonaws.com/doc/2006-03-01/", s3BucketDestination.Format);
                                    }
                                    if (s3BucketDestination.IsSetBucketAccountId())
                                    {
                                        xmlWriter.WriteElementString("BucketAccountId", "http://s3.amazonaws.com/doc/2006-03-01/", s3BucketDestination.BucketAccountId);
                                    }
                                    if (s3BucketDestination.IsSetBucketName())
                                    {
                                        xmlWriter.WriteElementString("Bucket", "http://s3.amazonaws.com/doc/2006-03-01/", s3BucketDestination.BucketName);
                                    }
                                    if (s3BucketDestination.IsSetPrefix())
                                    {
                                        xmlWriter.WriteElementString("Prefix", "http://s3.amazonaws.com/doc/2006-03-01/", s3BucketDestination.Prefix);
                                    }
                                    xmlWriter.WriteEndElement();
                                }
                                xmlWriter.WriteEndElement();
                            }
                            xmlWriter.WriteEndElement();
                        }
                        xmlWriter.WriteEndElement();
                    }
                    xmlWriter.WriteEndElement();
                }
            }
            try
            {
                string text = stringWriter.ToString();
                val.set_Content(Encoding.UTF8.GetBytes(text));
                val.get_Headers()["Content-Type"] = "application/xml";
                string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
                val.get_Headers()["Content-MD5"] = value;
                return(val);
            }
            catch (EncoderFallbackException ex)
            {
                throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
            }
        }
Example #23
0
        public IRequest Marshall(PutACLRequest putObjectAclRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_034a: Unknown result type (might be due to invalid IL or missing references)
            IRequest val = new DefaultRequest(putObjectAclRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            if (putObjectAclRequest.IsSetCannedACL())
            {
                val.get_Headers().Add("x-amz-acl", S3Transforms.ToStringValue(ConstantClass.op_Implicit(putObjectAclRequest.CannedACL)));
            }
            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(putObjectAclRequest.BucketName), S3Transforms.ToStringValue(putObjectAclRequest.Key)));
            val.AddSubResource("acl");
            if (putObjectAclRequest.IsSetVersionId())
            {
                val.AddSubResource("versionId", S3Transforms.ToStringValue(putObjectAclRequest.VersionId));
            }
            StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);

            using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Encoding = Encoding.UTF8,
                OmitXmlDeclaration = true
            }))
            {
                S3AccessControlList accessControlList = putObjectAclRequest.AccessControlList;
                if (accessControlList != null)
                {
                    xmlWriter.WriteStartElement("AccessControlPolicy", "");
                    List <S3Grant> grants = accessControlList.Grants;
                    if (grants != null && grants.Count > 0)
                    {
                        xmlWriter.WriteStartElement("AccessControlList", "");
                        foreach (S3Grant item in grants)
                        {
                            xmlWriter.WriteStartElement("Grant", "");
                            if (item != null)
                            {
                                S3Grantee grantee = item.Grantee;
                                if (grantee != null)
                                {
                                    xmlWriter.WriteStartElement("Grantee", "");
                                    if (grantee.IsSetType())
                                    {
                                        xmlWriter.WriteAttributeString("xsi", "type", "http://www.w3.org/2001/XMLSchema-instance", ((object)grantee.Type).ToString());
                                    }
                                    if (grantee.IsSetDisplayName())
                                    {
                                        xmlWriter.WriteElementString("DisplayName", "", S3Transforms.ToXmlStringValue(grantee.DisplayName));
                                    }
                                    if (grantee.IsSetEmailAddress())
                                    {
                                        xmlWriter.WriteElementString("EmailAddress", "", S3Transforms.ToXmlStringValue(grantee.EmailAddress));
                                    }
                                    if (grantee.IsSetCanonicalUser())
                                    {
                                        xmlWriter.WriteElementString("ID", "", S3Transforms.ToXmlStringValue(grantee.CanonicalUser));
                                    }
                                    if (grantee.IsSetURI())
                                    {
                                        xmlWriter.WriteElementString("URI", "", S3Transforms.ToXmlStringValue(grantee.URI));
                                    }
                                    xmlWriter.WriteEndElement();
                                }
                                if (item.IsSetPermission())
                                {
                                    xmlWriter.WriteElementString("Permission", "", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(item.Permission)));
                                }
                            }
                            xmlWriter.WriteEndElement();
                        }
                        xmlWriter.WriteEndElement();
                        Owner owner = accessControlList.Owner;
                        if (owner != null)
                        {
                            xmlWriter.WriteStartElement("Owner", "");
                            if (owner.IsSetDisplayName())
                            {
                                xmlWriter.WriteElementString("DisplayName", "", S3Transforms.ToXmlStringValue(owner.DisplayName));
                            }
                            if (owner.IsSetId())
                            {
                                xmlWriter.WriteElementString("ID", "", S3Transforms.ToXmlStringValue(owner.Id));
                            }
                            xmlWriter.WriteEndElement();
                        }
                    }
                    xmlWriter.WriteEndElement();
                }
            }
            try
            {
                string text = stringWriter.ToString();
                val.set_Content(Encoding.UTF8.GetBytes(text));
                val.get_Headers()["Content-Type"] = "application/xml";
                string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
                val.get_Headers()["Content-MD5"] = value;
                return(val);
            }
            catch (EncoderFallbackException ex)
            {
                throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
            }
        }
        public IRequest Marshall(CopyPartRequest copyPartRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            IRequest val = new DefaultRequest(copyPartRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            if (copyPartRequest.IsSetSourceBucket())
            {
                val.get_Headers().Add("x-amz-copy-source", ConstructCopySourceHeaderValue(copyPartRequest.SourceBucket, copyPartRequest.SourceKey, copyPartRequest.SourceVersionId));
            }
            if (copyPartRequest.IsSetETagToMatch())
            {
                val.get_Headers().Add("x-amz-copy-source-if-match", AWSSDKUtils.Join(copyPartRequest.ETagToMatch));
            }
            if (copyPartRequest.IsSetETagToNotMatch())
            {
                val.get_Headers().Add("x-amz-copy-source-if-none-match", AWSSDKUtils.Join(copyPartRequest.ETagsToNotMatch));
            }
            if (copyPartRequest.IsSetModifiedSinceDate())
            {
                val.get_Headers().Add("x-amz-copy-source-if-modified-since", copyPartRequest.ModifiedSinceDate.ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss \\G\\M\\T", CultureInfo.InvariantCulture));
            }
            if (copyPartRequest.IsSetUnmodifiedSinceDate())
            {
                val.get_Headers().Add("x-amz-copy-source-if-unmodified-since", copyPartRequest.UnmodifiedSinceDate.ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss \\G\\M\\T", CultureInfo.InvariantCulture));
            }
            if (copyPartRequest.IsSetServerSideEncryptionCustomerMethod())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-algorithm", ConstantClass.op_Implicit(copyPartRequest.ServerSideEncryptionCustomerMethod));
            }
            if (copyPartRequest.IsSetServerSideEncryptionCustomerProvidedKey())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-customer-key", copyPartRequest.ServerSideEncryptionCustomerProvidedKey);
                if (copyPartRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5())
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", copyPartRequest.ServerSideEncryptionCustomerProvidedKeyMD5);
                }
                else
                {
                    val.get_Headers().Add("x-amz-server-side-encryption-customer-key-MD5", AmazonS3Util.ComputeEncodedMD5FromEncodedString(copyPartRequest.ServerSideEncryptionCustomerProvidedKey));
                }
            }
            if (copyPartRequest.IsSetCopySourceServerSideEncryptionCustomerMethod())
            {
                val.get_Headers().Add("x-amz-copy-source-server-side-encryption-customer-algorithm", ConstantClass.op_Implicit(copyPartRequest.CopySourceServerSideEncryptionCustomerMethod));
            }
            if (copyPartRequest.IsSetCopySourceServerSideEncryptionCustomerProvidedKey())
            {
                val.get_Headers().Add("x-amz-copy-source-server-side-encryption-customer-key", copyPartRequest.CopySourceServerSideEncryptionCustomerProvidedKey);
                if (copyPartRequest.IsSetCopySourceServerSideEncryptionCustomerProvidedKeyMD5())
                {
                    val.get_Headers().Add("x-amz-copy-source-server-side-encryption-customer-key-MD5", copyPartRequest.CopySourceServerSideEncryptionCustomerProvidedKeyMD5);
                }
                else
                {
                    val.get_Headers().Add("x-amz-copy-source-server-side-encryption-customer-key-MD5", AmazonS3Util.ComputeEncodedMD5FromEncodedString(copyPartRequest.CopySourceServerSideEncryptionCustomerProvidedKey));
                }
            }
            if (copyPartRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId())
            {
                val.get_Headers().Add("x-amz-server-side-encryption-aws-kms-key-id", copyPartRequest.ServerSideEncryptionKeyManagementServiceKeyId);
            }
            if (copyPartRequest.IsSetFirstByte() && copyPartRequest.IsSetLastByte())
            {
                val.get_Headers().Add("x-amz-copy-source-range", ConstructCopySourceRangeHeader(copyPartRequest.FirstByte, copyPartRequest.LastByte));
            }
            val.set_ResourcePath(string.Format(CultureInfo.InvariantCulture, "/{0}/{1}", S3Transforms.ToStringValue(copyPartRequest.DestinationBucket), S3Transforms.ToStringValue(copyPartRequest.DestinationKey)));
            val.AddSubResource("partNumber", S3Transforms.ToStringValue(copyPartRequest.PartNumber));
            val.AddSubResource("uploadId", S3Transforms.ToStringValue(copyPartRequest.UploadId));
            val.set_UseQueryString(true);
            return(val);
        }
Example #25
0
        public IRequest Marshall(PutBucketInventoryConfigurationRequest putBucketInventoryConfigurationRequest)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Expected O, but got Unknown
            //IL_0360: Unknown result type (might be due to invalid IL or missing references)
            IRequest val = new DefaultRequest(putBucketInventoryConfigurationRequest, "AmazonS3");

            val.set_HttpMethod("PUT");
            val.set_ResourcePath("/" + S3Transforms.ToStringValue(putBucketInventoryConfigurationRequest.BucketName));
            val.AddSubResource("inventory");
            if (putBucketInventoryConfigurationRequest.IsSetInventoryId())
            {
                val.AddSubResource("id", S3Transforms.ToStringValue(putBucketInventoryConfigurationRequest.InventoryId));
            }
            StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture);

            using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings
            {
                Encoding = Encoding.UTF8,
                OmitXmlDeclaration = true
            }))
            {
                if (putBucketInventoryConfigurationRequest.IsSetInventoryConfiguration())
                {
                    InventoryConfiguration inventoryConfiguration = putBucketInventoryConfigurationRequest.InventoryConfiguration;
                    xmlWriter.WriteStartElement("InventoryConfiguration", "http://s3.amazonaws.com/doc/2006-03-01/");
                    if (inventoryConfiguration != null)
                    {
                        if (inventoryConfiguration.IsSetDestination())
                        {
                            InventoryDestination destination = inventoryConfiguration.Destination;
                            xmlWriter.WriteStartElement("Destination", "http://s3.amazonaws.com/doc/2006-03-01/");
                            if (destination.isSetS3BucketDestination())
                            {
                                InventoryS3BucketDestination s3BucketDestination = destination.S3BucketDestination;
                                xmlWriter.WriteStartElement("S3BucketDestination", "http://s3.amazonaws.com/doc/2006-03-01/");
                                if (s3BucketDestination.IsSetAccountId())
                                {
                                    xmlWriter.WriteElementString("AccountId", "http://s3.amazonaws.com/doc/2006-03-01/", S3Transforms.ToXmlStringValue(s3BucketDestination.AccountId));
                                }
                                if (s3BucketDestination.IsSetBucketName())
                                {
                                    xmlWriter.WriteElementString("Bucket", "http://s3.amazonaws.com/doc/2006-03-01/", S3Transforms.ToXmlStringValue(s3BucketDestination.BucketName));
                                }
                                if (s3BucketDestination.IsSetInventoryFormat())
                                {
                                    xmlWriter.WriteElementString("Format", "http://s3.amazonaws.com/doc/2006-03-01/", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(s3BucketDestination.InventoryFormat)));
                                }
                                if (s3BucketDestination.IsSetPrefix())
                                {
                                    xmlWriter.WriteElementString("Prefix", "http://s3.amazonaws.com/doc/2006-03-01/", S3Transforms.ToXmlStringValue(s3BucketDestination.Prefix));
                                }
                                xmlWriter.WriteEndElement();
                            }
                            xmlWriter.WriteEndElement();
                        }
                        xmlWriter.WriteElementString("IsEnabled", "http://s3.amazonaws.com/doc/2006-03-01/", inventoryConfiguration.IsEnabled.ToString().ToLowerInvariant());
                        if (inventoryConfiguration.IsSetInventoryFilter())
                        {
                            xmlWriter.WriteStartElement("Filter", "http://s3.amazonaws.com/doc/2006-03-01/");
                            inventoryConfiguration.InventoryFilter.InventoryFilterPredicate.Accept(new InventoryPredicateVisitor(xmlWriter));
                            xmlWriter.WriteEndElement();
                        }
                        if (inventoryConfiguration.IsSetInventoryId())
                        {
                            xmlWriter.WriteElementString("Id", "http://s3.amazonaws.com/doc/2006-03-01/", S3Transforms.ToXmlStringValue(inventoryConfiguration.InventoryId));
                        }
                        if (inventoryConfiguration.IsSetIncludedObjectVersions())
                        {
                            xmlWriter.WriteElementString("IncludedObjectVersions", "http://s3.amazonaws.com/doc/2006-03-01/", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(inventoryConfiguration.IncludedObjectVersions)));
                        }
                        if (inventoryConfiguration.IsSetInventoryOptionalFields())
                        {
                            xmlWriter.WriteStartElement("OptionalFields", "http://s3.amazonaws.com/doc/2006-03-01/");
                            foreach (InventoryOptionalField inventoryOptionalField in inventoryConfiguration.InventoryOptionalFields)
                            {
                                xmlWriter.WriteElementString("Field", "http://s3.amazonaws.com/doc/2006-03-01/", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(inventoryOptionalField)));
                            }
                            xmlWriter.WriteEndElement();
                        }
                        if (inventoryConfiguration.IsSetSchedule())
                        {
                            xmlWriter.WriteStartElement("Schedule", "http://s3.amazonaws.com/doc/2006-03-01/");
                            InventorySchedule schedule = inventoryConfiguration.Schedule;
                            if (schedule.IsFrequency())
                            {
                                xmlWriter.WriteElementString("Frequency", "http://s3.amazonaws.com/doc/2006-03-01/", S3Transforms.ToXmlStringValue(ConstantClass.op_Implicit(schedule.Frequency)));
                            }
                            xmlWriter.WriteEndElement();
                        }
                    }
                    xmlWriter.WriteEndElement();
                }
            }
            try
            {
                string text = stringWriter.ToString();
                val.set_Content(Encoding.UTF8.GetBytes(text));
                val.get_Headers()["Content-Type"] = "application/xml";
                string value = AmazonS3Util.GenerateChecksumForContent(text, fBase64Encode: true);
                val.get_Headers()["Content-MD5"] = value;
                return(val);
            }
            catch (EncoderFallbackException ex)
            {
                throw new AmazonServiceException("Unable to marshall request to XML", (Exception)ex);
            }
        }