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);
     }
 }
Example #2
0
        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;
 }