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); }
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); }
public HttpMessageHandler CreateHandler() { var client = new HttpClientHandler(); var hmac = Container.Resolve <HmacSigningHandler>(); hmac.InnerHandler = client; var md5 = new RequestContentMd5Handler { InnerHandler = hmac }; return(md5); }