Ejemplo n.º 1
0
        public OrchestratorClient(ITokenService tokenService, IOptionsMonitor <OrchestratorSettings> orchestratorSettingsAccessor)
        {
            var orchestratorSettings = orchestratorSettingsAccessor.CheckNullReference().CurrentValue;

            if (!orchestratorSettings.Validate())
            {
                throw new ArgumentException("Orchestrator setting invalid");
            }

            if (orchestratorSettings.AuthMode.OrdinalEquals("Basic"))
            {
                _client = new HttpClient(new BasicAuthHeadHandler(tokenService.CheckNullReference()));
            }
            else
            {
                _client = new HttpClient(new CloudAuthHeadHandler(tokenService.CheckNullReference(), orchestratorSettings.ServiceInstanceLogicalName));
            }

            _baseUrl             = orchestratorSettings.CheckNullReference().BaseUrl;
            _statusCheckInterval = orchestratorSettings.StatusCheckInterval;
            _statusMaxRetry      = orchestratorSettings.StatusCheckMaxRetry;
        }