The UploadPartResponse contains all the information about the UploadPart method.
Inheritance: Amazon.S3.Model.S3Response
        public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) 
        {   
            UploadPartResponse response = new UploadPartResponse();
            
            UnmarshallResult(context,response);

            return response;
        }
Esempio n. 2
0
 /// <summary>
 /// Constructs an instance of PartETag from an UploadPart response
 /// </summary>
 /// <param name="uploadPartResponse">UploadPart response</param>
 public PartETag(UploadPartResponse uploadPartResponse)
 {
     partNumber     = uploadPartResponse.PartNumber;
     eTag           = uploadPartResponse.ETag;
     ChecksumCRC32C = uploadPartResponse.ChecksumCRC32C;
     ChecksumCRC32  = uploadPartResponse.ChecksumCRC32;
     ChecksumSHA1   = uploadPartResponse.ChecksumSHA1;
     ChecksumSHA256 = uploadPartResponse.ChecksumSHA256;
 }
        private static void UnmarshallResult(XmlUnmarshallerContext context,UploadPartResponse response)
        {

            IWebResponseData responseData = context.ResponseData;
            if (responseData.IsHeaderPresent("x-amz-server-side-encryption"))
                response.ServerSideEncryptionMethod = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-server-side-encryption"));
            if (responseData.IsHeaderPresent("ETag"))
                response.ETag = S3Transforms.ToString(responseData.GetHeaderValue("ETag"));         


            return;
        }
 private void addResponse(UploadPartResponse response)
 {
     lock (this.WAIT_FOR_COMPLETION_LOCK)
     {
         this._uploadResponses.Add(response);
     }
 }
 private static void WriteResponseToFile(string relativePath, string bucketkey, string uploadId, DateTime lastModified, UploadPartResponse uploadPartResponse)
 {
     try
     {
         if (!File.Exists(Utilities.ConfigPath))
             File.Create(Utilities.ConfigPath);
         WaitUntilFileBusy(Utilities.ConfigPath);
         using (var stream = new StreamReader(Utilities.ConfigPath))
         {
             string fileContent = stream.ReadToEnd();
             var objs = JsonConvert.DeserializeObject<List<ObjectInfo>>(fileContent);
             bool isObjectFound = false;
             if (objs != null && objs.Count > 0)
             {
                 foreach (ObjectInfo objectInfo in objs)
                 {
                     if (objectInfo.Bucketkey.ToLower() == bucketkey.ToLower() &&
                         objectInfo.RelativePath.ToLower() == relativePath.ToLower() &&
                         objectInfo.UploadId.ToLower() == uploadId.ToLower())
                     {
                         objectInfo.UploadPartResponses.Add(uploadPartResponse);
                         isObjectFound = true;
                         break;
                     }
                 }
             }
             if (!isObjectFound)
             {
                 if (objs == null)
                     objs = new List<ObjectInfo>();
                 var objInfo = new ObjectInfo
                                   {
                                       Bucketkey = bucketkey,
                                       RelativePath = relativePath,
                                       UploadId = uploadId,
                                       LastModified = lastModified
                                   };
                 objInfo.UploadPartResponses.Add(uploadPartResponse);
                 objs.Add(objInfo);
             }
             stream.Close();
             stream.Dispose();
             WaitUntilFileBusy(Utilities.ConfigPath);
             File.Delete(Utilities.ConfigPath);
             using (var streamwriter = new StreamWriter(Utilities.ConfigPath, true))
             {
                 streamwriter.Write(JsonConvert.SerializeObject(objs));
             }
         }
     }
     catch (Exception)
     {
         //ToDo Need to fix
         return;
     }
 }