Esempio n. 1
0
        protected virtual WebApplicationFactory <Startup> CreateFactory()
        {
            var f = new WebApplicationFactory <Startup>()
                    .WithWebHostBuilder(builder => builder.UseContentRoot("."));
            //{
            //    Environment = TestEnvironment
            //};

            var secretRepository = new SecretStore();

            secretRepository.Assign("1234", "ABCD");

            var mrb        = new HmacMessageRepresentationBuilder();
            var calculator = new HmacSignatureCalculator();

            HmacClient = new HmacClient
            {
                ClientId = "1234"
            };
            var hmacHandler = new HmacClientHandler(HmacClient);
            var requestContentMd5Handler = new RequestContentMd5Handler();
            var hmacSigningHandler       = new HmacSigningHandler(secretRepository, mrb, calculator);

            // Inject all the handlers in the correct order
            Client = f.CreateDefaultClient(hmacHandler, requestContentMd5Handler, hmacSigningHandler);

            //Startup = Program.Startup;

            return(f);
        }
Esempio n. 2
0
        private HttpMessageHandler ClientHandler(HttpMessageHandler baseHandler)
        {
            var md5Handler     = new RequestContentMd5Handler();
            var signingHandler = Container.Resolve <HmacSigningHandler>();

            md5Handler.InnerHandler     = signingHandler;
            signingHandler.InnerHandler = baseHandler;

            return(md5Handler);
        }
        private HttpMessageHandler ClientHandler(HttpMessageHandler baseHandler)
        {
            var handler1 = new RequestContentMd5Handler();
            // NB Need a new one each time as it gets disposed
            var handler2 = Container.Resolve <HmacSigningHandler>();

            handler1.InnerHandler = handler2;
            handler2.InnerHandler = baseHandler;

            return(handler1);
        }
Esempio n. 4
0
        public HttpMessageHandler CreateHandler()
        {
            var client = new HttpClientHandler();

            var hmac = Container.Resolve <HmacSigningHandler>();

            hmac.InnerHandler = client;

            var md5 = new RequestContentMd5Handler
            {
                InnerHandler = hmac
            };

            return(md5);
        }