Exemple #1
0
        protected override void AddPlugins(ItemModel source, Endpoint endpoint)
        {
            //create the plugin & populate the plugin using values from item
            var settings = new JsonServiceEndpointSettings
            {
                Host      = GetStringValue(source, JsonServiceEndpointItemModel.Host),
                Protocol  = GetStringValue(source, JsonServiceEndpointItemModel.Protocol),
                Scheme    = GetStringValue(source, JsonServiceEndpointItemModel.AuthorizationScheme),
                Parameter = GetStringValue(source, JsonServiceEndpointItemModel.AuthorizationParameter)
            };

            //add the plugin to the endpoint
            endpoint.Plugins.Add(settings);
        }
        public HttpClient GetHttpClient(JsonServiceEndpointSettings endpointSettings)
        {
            var client = new HttpClient
            {
                BaseAddress = new Uri(endpointSettings.Protocol.ToLowerInvariant() + "://" + endpointSettings.Host)
            };

            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            //Authentication
            if (!string.IsNullOrEmpty(endpointSettings.Scheme) && !string.IsNullOrEmpty(endpointSettings.Parameter))
            {
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(endpointSettings.Scheme, endpointSettings.Parameter);
            }

            return(client);
        }