Exemplo n.º 1
0
        public void Setup()
        {
            {
                S3Config config = new S3Config();
                config.Region      = AwsRegion.EuWest1;
                config.Credentials = new StringAccessKey("keyidkeyidkeyidkeyid", "accesskeyacceskey123accesskeyacceskey123");

                IOptions <S3Config> options = Options.Create(config);

                SigningKeyBuilder signingKeyBuilder = new SigningKeyBuilder(options, NullLogger <SigningKeyBuilder> .Instance);
                ScopeBuilder      scopeBuilder      = new ScopeBuilder(options);
                SignatureBuilder  signatureBuilder  = new SignatureBuilder(signingKeyBuilder, scopeBuilder, NullLogger <SignatureBuilder> .Instance, options);

                _headerBuilder = new AuthorizationHeaderBuilder(options, scopeBuilder, signatureBuilder, NullLogger <AuthorizationHeaderBuilder> .Instance);

                _request = new DummyRequest();
                _request.SetHeader(AmzHeaders.XAmzContentSha256, "UNSIGNED-PAYLOAD");
            }

            {
                _request2    = new HttpRequestMessage(System.Net.Http.HttpMethod.Get, "https://dummyurl");
                _credentials = new ImmutableCredentials("keyidkeyidkeyidkeyid", "accesskeyacceskey123accesskeyacceskey123", null);

                // Add required headers
                _request2.AddHeader(HeaderKeys.XAmzDateHeader, DateTime.UtcNow.ToIso8601BasicDateTime());

                // Add conditional headers
                _request2.AddHeaderIf(_credentials.UseToken, HeaderKeys.XAmzSecurityTokenHeader, _credentials.Token);
                _request2.AddHeaderIf(!_request2.Headers.Contains(HeaderKeys.HostHeader), HeaderKeys.HostHeader, _request2.RequestUri.Host);
            }
        }
Exemplo n.º 2
0
        private void Initialize(IOptions <S3Config> options, INetworkDriver networkDriver, ILoggerFactory loggerFactory)
        {
            Assembly assembly = typeof(S3Config).Assembly;

            SimpleServiceProvider provider = new SimpleServiceProvider(new Tuple <Type, object>(typeof(IOptions <S3Config>), options));

            IEnumerable <IValidator>       validators       = CreateInstances <IValidator>(assembly, provider);
            IEnumerable <IRequestMarshal>  requestMarshals  = CreateInstances <IRequestMarshal>(assembly, provider);
            IEnumerable <IResponseMarshal> responseMarshals = CreateInstances <IResponseMarshal>(assembly, provider);

            ValidatorFactory      validatorFactory     = new ValidatorFactory(validators);
            IMarshalFactory       marshalFactory       = new MarshalFactory(requestMarshals, responseMarshals);
            IScopeBuilder         scopeBuilder         = new ScopeBuilder(options);
            ISigningKeyBuilder    signingKeyBuilder    = new SigningKeyBuilder(options, loggerFactory.CreateLogger <SigningKeyBuilder>());
            ISignatureBuilder     signatureBuilder     = new SignatureBuilder(signingKeyBuilder, scopeBuilder, loggerFactory.CreateLogger <SignatureBuilder>(), options);
            IAuthorizationBuilder authorizationBuilder = new AuthorizationHeaderBuilder(options, scopeBuilder, signatureBuilder, loggerFactory.CreateLogger <AuthorizationHeaderBuilder>());
            DefaultRequestHandler requestHandler       = new DefaultRequestHandler(options, validatorFactory, marshalFactory, networkDriver, authorizationBuilder, Enumerable.Empty <IRequestStreamWrapper>(), loggerFactory.CreateLogger <DefaultRequestHandler>());

            ObjectOperations objectOperations = new ObjectOperations(requestHandler, Enumerable.Empty <IRequestWrapper>(), Enumerable.Empty <IResponseWrapper>());

            _objectClient = new S3ObjectClient(objectOperations);

            BucketOperations bucketOperations = new BucketOperations(requestHandler);

            _bucketClient = new S3BucketClient(bucketOperations);

            MultipartOperations multipartOperations = new MultipartOperations(requestHandler, Enumerable.Empty <IRequestWrapper>(), Enumerable.Empty <IResponseWrapper>());

            _multipartClient = new S3MultipartClient(multipartOperations, objectOperations);

            Transfer = new Transfer(objectOperations, multipartOperations);
        }
Exemplo n.º 3
0
        public ChunkedSignatureTests()
        {
            S3Config config = new S3Config(new StringAccessKey("AKIAIOSFODNN7EXAMPLE", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"), AwsRegion.UsEast1);

            _options = Options.Create(config);

            SigningKeyBuilder keyBuilder = new SigningKeyBuilder(_options, NullLogger <SigningKeyBuilder> .Instance);

            _scopeBuilder      = new ScopeBuilder(_options);
            _sigBuilder        = new SignatureBuilder(keyBuilder, _scopeBuilder, NullLogger <SignatureBuilder> .Instance, _options);
            _chunkedSigBuilder = new ChunkedSignatureBuilder(keyBuilder, _scopeBuilder, NullLogger <ChunkedSignatureBuilder> .Instance);
            _authHeaderBuilder = new AuthorizationHeaderBuilder(_options, _scopeBuilder, _sigBuilder, NullLogger <AuthorizationHeaderBuilder> .Instance);
        }
 public ResponseViewModelBuilder()
 {
     _authorizationHeaderBuilder = new AuthorizationHeaderBuilder();
     _webResponseBuilder = new WebResponseBuilder();
 }