コード例 #1
0
        public static TM1ClientConfig Load(String configFilePath)
        {
            TM1ClientConfig config = null;

            if (String.IsNullOrEmpty(configFilePath))
            {
                throw new ArgumentNullException(nameof(configFilePath));
            }
            if (!File.Exists(configFilePath))
            {
                String configDirPath = Path.GetDirectoryName(configFilePath);
                if (!Directory.Exists(configDirPath))
                {
                    Directory.CreateDirectory(configDirPath);
                }

                using (StreamWriter stream = File.CreateText(configFilePath))
                {
                    config = TM1ClientConfig.GetDefault();
                    JsonSerializer serializer = JsonSerializer.Create(new JsonSerializerSettings()
                    {
                        Formatting        = Formatting.Indented,
                        NullValueHandling = NullValueHandling.Ignore
                    });
                    serializer.Serialize(stream, config);
                }
            }
            using (StreamReader file = File.OpenText(configFilePath))
            {
                JsonSerializer serializer = new JsonSerializer();
                config = (TM1ClientConfig)serializer.Deserialize(file, typeof(TM1ClientConfig));
            }
            return(config);
        }
コード例 #2
0
ファイル: TM1Client.cs プロジェクト: mikhser284/DatEx.TM1
        private HttpClient GetConfiguredTM1Client(TM1ClientConfig config)
        {
            HttpClientHandler httpClientHandler = new HttpClientHandler();

            httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); };
            //
            HttpClient httpClient = new HttpClient(httpClientHandler);

            httpClient.BaseAddress = config.ServiceBaseAddress;
            httpClient.DefaultRequestHeaders.Accept.Clear();
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            httpClient.DefaultRequestHeaders.Add("Authorization", $"CAMNamespace {ToBase64($"{config.UserName}:{config.UserPassword}:{config.Domain}")}");
            //
            return(httpClient);

            //
            String ToBase64(String value)
            {
                var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(value);

                return(System.Convert.ToBase64String(plainTextBytes));
            }
        }
コード例 #3
0
ファイル: AppConfig.cs プロジェクト: mikhser284/DatEx.TM1
 internal void OnDeserialized(StreamingContext context)
 {
     TM1ClientConfig = TM1ClientConfig.Load(TM1ConfigFilePath);
 }
コード例 #4
0
ファイル: TM1Client.cs プロジェクト: mikhser284/DatEx.TM1
 public TM1Client(TM1ClientConfig config)
 {
     Config     = config;
     HttpClient = GetConfiguredTM1Client(Config);
 }