public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { UploadPartResponse response = new UploadPartResponse(); UnmarshallResult(context,response); return response; }
/// <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; } }