The GetObjectMetadataResponse contains any headers returned by S3.
Inheritance: Amazon.S3.Model.S3Response
        private static void UnmarshallResult(XmlUnmarshallerContext context,GetObjectMetadataResponse response)
        {
            

            IWebResponseData responseData = context.ResponseData;
            if (responseData.IsHeaderPresent("x-amz-delete-marker"))
                response.DeleteMarker = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-delete-marker"));
            if (responseData.IsHeaderPresent("accept-ranges"))
                response.AcceptRanges = S3Transforms.ToString(responseData.GetHeaderValue("accept-ranges"));
            if (responseData.IsHeaderPresent("x-amz-expiration"))
                response.Expiration = new Expiration(responseData.GetHeaderValue("x-amz-expiration"));
            if (responseData.IsHeaderPresent("x-amz-restore"))
            {
                bool restoreInProgress;
                DateTime? restoreExpiration;
                AmazonS3Util.ParseAmzRestoreHeader(responseData.GetHeaderValue("x-amz-restore"), out restoreInProgress, out restoreExpiration);

                response.RestoreInProgress = restoreInProgress;
                response.RestoreExpiration = restoreExpiration;
            }
            if (responseData.IsHeaderPresent("Last-Modified"))
                response.LastModified = S3Transforms.ToDateTime(responseData.GetHeaderValue("Last-Modified"));
            if (responseData.IsHeaderPresent("ETag"))
                response.ETag = S3Transforms.ToString(responseData.GetHeaderValue("ETag"));
            if (responseData.IsHeaderPresent("x-amz-missing-meta"))
                response.MissingMeta = S3Transforms.ToInt(responseData.GetHeaderValue("x-amz-missing-meta"));
            if (responseData.IsHeaderPresent("x-amz-version-id"))
                response.VersionId = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-version-id"));
            if (responseData.IsHeaderPresent("Cache-Control"))
                response.Headers.CacheControl = S3Transforms.ToString(responseData.GetHeaderValue("Cache-Control"));
            if (responseData.IsHeaderPresent("Content-Disposition"))
                response.Headers.ContentDisposition = S3Transforms.ToString(responseData.GetHeaderValue("Content-Disposition"));
            if (responseData.IsHeaderPresent("Content-Encoding"))
                response.Headers.ContentEncoding = S3Transforms.ToString(responseData.GetHeaderValue("Content-Encoding"));
            if (responseData.IsHeaderPresent("Content-Length"))
                response.Headers.ContentLength = long.Parse(responseData.GetHeaderValue("Content-Length"), CultureInfo.InvariantCulture);
            if (responseData.IsHeaderPresent("Content-Type"))
                response.Headers.ContentType = S3Transforms.ToString(responseData.GetHeaderValue("Content-Type"));
            if (responseData.IsHeaderPresent("Expires"))
                response.Expires = S3Transforms.ToDateTime(responseData.GetHeaderValue("Expires"));
            if (responseData.IsHeaderPresent("x-amz-website-redirect-location"))
                response.WebsiteRedirectLocation = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-website-redirect-location"));
            if (responseData.IsHeaderPresent("x-amz-server-side-encryption"))
                response.ServerSideEncryptionMethod = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-server-side-encryption"));
            if (responseData.IsHeaderPresent("x-amz-server-side-encryption-customer-algorithm"))
                response.ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.FindValue(responseData.GetHeaderValue("x-amz-server-side-encryption-customer-algorithm"));
            if (responseData.IsHeaderPresent(HeaderKeys.XAmzServerSideEncryptionAwsKmsKeyIdHeader))
                response.ServerSideEncryptionKeyManagementServiceKeyId = S3Transforms.ToString(responseData.GetHeaderValue(HeaderKeys.XAmzServerSideEncryptionAwsKmsKeyIdHeader));
            if (responseData.IsHeaderPresent("x-amz-replication-status"))
                response.ReplicationStatus = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-replication-status"));

            foreach (var name in responseData.GetHeaderNames())
            {
                if (name.StartsWith("x-amz-meta-", StringComparison.OrdinalIgnoreCase))
                    response.Metadata[name] = responseData.GetHeaderValue(name);
            }

            return;
        }
 public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) 
 {   
     GetObjectMetadataResponse response = new GetObjectMetadataResponse();
     
     UnmarshallResult(context,response);                        
          
                 
     return response;
 }
			/// <summary>
			/// Constructs an S3 resource.
			/// </summary>
			/// <param name="service">The <see cref="S3ContentResourceService"/>.</param>
			/// <param name="metadata">The <see cref="GetObjectMetadataResponse"/> describing the data.</param>
			/// <param name="path">The <see cref="IResourcePath"/> of the resource.</param>
			public S3Resource(S3ContentResourceService service, GetObjectMetadataResponse metadata, IResourcePath path)
			{
				// validate arguments
				if (service == null)
					throw new ArgumentNullException("service");
				if (path == null)
					throw new ArgumentNullException("path");

				// set values
				this.service = service;
				this.metadata = metadata;
				this.path = path;
			}
Ejemplo n.º 4
0
 public void exists(string bucket, string key)
 {
     GetObjectMetadataRequest req = new GetObjectMetadataRequest();
     req.BucketName = bucket;
     req.Key = key;
     GetObjectMetadataResponse res = new GetObjectMetadataResponse();
     try
     {
         res = s3Client.GetObjectMetadata(req);
         Console.WriteLine("true");
     }
     catch (Exception)
     {
         Console.WriteLine("false");
     }
 }
Ejemplo n.º 5
0
 // md5 s3 checksum
 private string GetS3Checksum(string bucket, string key)
 {
     GetObjectMetadataRequest req = new GetObjectMetadataRequest();
     req.BucketName = bucket;
     req.Key = key;
     GetObjectMetadataResponse res = new GetObjectMetadataResponse();
     res = s3Client.GetObjectMetadata(req);
     return res.ETag.ToUpper().Replace("\"", "");
 }