private bool _disposedValue; // For the detection of multiple calls

        /// <summary>
        /// Initializes a new instance of the <see cref="RestClientBase" /> class.
        /// </summary>
        /// <param name="httpClientFactory">The HTTP client factory to use</param>
        protected RestClientBase(IHttpClientFactory httpClientFactory)
        {
            HttpClientFactory = httpClientFactory;

            _httpClient = new Lazy <IHttpClient>(() => HttpClientFactory.CreateClient(this));

            // register default handlers
            var jsonDeserializer = new JsonDeserializer();

            _contentHandlers.Add("application/json", jsonDeserializer);
            _contentHandlers.Add("text/json", jsonDeserializer);
            _contentHandlers.Add("text/x-json", jsonDeserializer);
            _contentHandlers.Add("text/javascript", jsonDeserializer);

            var xmlDataContractDeserializer = new XmlDataContractDeserializer();

            _contentHandlers.Add("application/xml", xmlDataContractDeserializer);
            _contentHandlers.Add("text/xml", xmlDataContractDeserializer);

            // Don't automatically update the Accept header, when we're running on Mono (is this still needed?)
            if (!s_isMono.Value)
            {
                _contentHandlers.CollectionChanged += ContentHandlersOnCollectionChanged;
                UpdateAcceptHeader();
            }

            _encodingHandlers.CollectionChanged += EncodingHandlersOnCollectionChanged;

            UserAgent = s_defaultUserAgent;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Constructor that initializes some default content handlers
        /// </summary>
        public RestClient()
        {
            HttpClientFactory = new HttpClientImpl.DefaultHttpClientFactory();

            var jsonDeserializer = new JsonDeserializer();

            // register default handlers
            AddHandler("application/json", jsonDeserializer);
            AddHandler("text/json", jsonDeserializer);
            AddHandler("text/x-json", jsonDeserializer);
            AddHandler("text/javascript", jsonDeserializer);

            var xmlDataContractDeserializer = new XmlDataContractDeserializer();

            AddHandler("application/xml", xmlDataContractDeserializer);
            AddHandler("text/xml", xmlDataContractDeserializer);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RestClientBase" /> class.
        /// </summary>
        /// <param name="httpClientFactory">The HTTP client factory to use</param>
        protected RestClientBase(IHttpClientFactory httpClientFactory)
        {
            HttpClientFactory = httpClientFactory;

            var jsonDeserializer = new JsonDeserializer();

            // register default handlers
            AddHandler("application/json", jsonDeserializer);
            AddHandler("text/json", jsonDeserializer);
            AddHandler("text/x-json", jsonDeserializer);
            AddHandler("text/javascript", jsonDeserializer);

            var xmlDataContractDeserializer = new XmlDataContractDeserializer();

            AddHandler("application/xml", xmlDataContractDeserializer);
            AddHandler("text/xml", xmlDataContractDeserializer);

            UserAgent = s_defaultUserAgent;
        }