public async Task BuildUserAgent(string frameworkName)
        {
            var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, "http://foo.com");
            var version            = typeof(UserAgentHandlerShould).Assembly.GetName().Version;
            var handler            = new UserAgentHandler(frameworkName, version)
            {
                InnerHandler = new TestHandler(),
            };

            var invoker = new HttpMessageInvoker(handler);
            await invoker.SendAsync(httpRequestMessage, CancellationToken.None);

            httpRequestMessage.Headers.UserAgent.ToString()
            .IndexOf(
                ProductInfoHeaderValue.Parse($"{frameworkName}/{version.Major}.{version.Minor}.{version.Build}")
                .ToString(), StringComparison.InvariantCultureIgnoreCase).Should().BeGreaterOrEqualTo(0);
        }
예제 #2
0
        public void ModuleInitialize(SACInitialize initialize)
        {
            GuiConfiguration = new Gui.Configuration();
            GuiConfiguration.ModuleInitialize(initialize);

            MailBox = new MailBox();
            MailBox.ModuleInitialize(initialize);

            ImageCaptcha = new ImageCaptcha();
            ImageCaptcha.ModuleInitialize(initialize);

            ReCaptcha = new ReCaptcha();
            ReCaptcha.ModuleInitialize(initialize);

            UserAgent = new UserAgentHandler();
            UserAgent.ModuleInitialize(initialize);
        }
예제 #3
0
        private async Task <DelegatingHandler> GetHandlersAsync(
            IEnumerable <KeyValuePair <string, string> > headerParameters = null)
        {
            if (_customHandler != null)
            {
                return(_customHandler);
            }

            var mainHandler = await _credentials.GetHandlers();

            var headersHandler   = new HeadersHandler(headerParameters);
            var userAgentHandler = new UserAgentHandler();

            headersHandler.InnerHandler = userAgentHandler;
            if (mainHandler.InnerHandler != null)
            {
                userAgentHandler.InnerHandler = mainHandler.InnerHandler;
            }

            mainHandler.InnerHandler = headersHandler;
            return(mainHandler);
        }