Example #1
0
        public HttpClient(
            IRequestRunner requestRunner,
            INamingConvention namingConvention,
            ILogger logger,
            IUserAgent userAgent)
        {
            this.requestRunner = requestRunner;

            UserAgent = userAgent;
            Logger    = logger;

            merger = new ResourceMerger(namingConvention);
        }
Example #2
0
        internal HttpClient(
            string rootUrl,
            HttpClientSettings settings,
            IRequestRunner requestRunner)
        {
            this.settings = settings;

            settings.Validate();

            this.requestRunner = requestRunner;

            merger = new ResourceMerger(settings.NamingConvention);

            Root = Resource.Create(rootUrl);
        }
Example #3
0
        public HttpClient(string rootUrl, HttpClientSettings settings)
        {
            settings.Validate();

            requestRunner = new RequestRunner(
                new TransmissionSettings(settings.Serializers),
                settings.Authenticator,
                settings.CookieStrategy,
                settings.ArrayFormatter);

            merger = new ResourceMerger(settings.NamingConvention);

            UserAgent = settings.UserAgent;
            Root      = new Resource(rootUrl);
            Logger    = settings.Logger;
        }
Example #4
0
        internal HttpClient(string rootUrl, HttpClientSettings settings)
        {
            this.settings = settings;

            settings.Validate();

            var cookieContainer = new CookieContainer();
            var client          = BuildSystemClient(cookieContainer, settings.DefaultTimeout);

            requestRunner = new RequestRunner(
                client,
                new TransmissionSettings(settings.Serializers),
                settings.ArrayFormatter,
                cookieContainer,
                settings.Middleware);

            merger = new ResourceMerger(settings.NamingConvention);

            Root = Resource.Create(rootUrl);
        }