private void SetRequestParametersWithUri(Uri uri) { m_BucketName = S3UriParser.GetBucketName(uri); m_Key = S3UriParser.GetKey(uri); if (s3BucketsOptions != null && s3BucketsOptions.ContainsKey(m_BucketName)) { m_RequestPayer = RequestPayer.FindValue(s3BucketsOptions[BucketName].Payer); } }
private void TestRequesterPays(string profileName, RequestPayer requestPayer, bool useSigV4) { var originalUseSigV4 = AWSConfigsS3.UseSignatureVersion4; try { AWSConfigsS3.UseSignatureVersion4 = useSigV4; CredentialProfile profile; var credsFile = new CredentialProfileStoreChain(); if (credsFile.TryGetProfile(profileName, out profile)) { var credentials = AWSCredentialsFactory.GetAWSCredentials(profile, credsFile); var client = new AmazonS3Client(credentials, Region); var url = client.GetPreSignedURL(new GetPreSignedUrlRequest { BucketName = BucketName, Key = Key, Expires = DateTime.Now.AddMinutes(20), RequestPayer = requestPayer }); var wc = new WebClient(); Assert.AreEqual(wc.DownloadString(url), Content); } else { throw new ArgumentException("The profile " + profileName + "does not exist."); } } finally { AWSConfigsS3.UseSignatureVersion4 = originalUseSigV4; } }
/// <summary> /// Creates a instance of <see cref="SetBucketRequestPaymentRequest" />. /// </summary> /// <param name="bucketName">bucket name</param> /// <param name="payer">request payer</param> public SetBucketRequestPaymentRequest(string bucketName, RequestPayer payer) { BucketName = bucketName; Payer = payer; }