private void SetSpeechConfigProperties()

in src/extensions/speech_extension/commands/recognize_command.cs [207:254]


        private void SetSpeechConfigProperties(SpeechConfig config)
        {
            var proxyHost = _values["service.config.proxy.host"];
            if (!string.IsNullOrEmpty(proxyHost)) config.SetProxy(proxyHost, _values.GetOrDefault("service.config.proxy.port", 80));

            var endpointId = _values["service.config.endpoint.id"];
            if (!string.IsNullOrEmpty(endpointId)) config.EndpointId = endpointId;

            var needDetailedText = _output != null && (_output.NeedsLexicalText() || _output.NeedsItnText());
            if (needDetailedText) config.OutputFormat = OutputFormat.Detailed;

            var profanity = _values.GetOrEmpty("service.output.config.profanity.option").ToLower();
            if (profanity == "removed") config.SetProfanity(ProfanityOption.Removed);
            if (profanity == "masked") config.SetProfanity(ProfanityOption.Masked);
            if (profanity == "raw") config.SetProfanity(ProfanityOption.Raw);

            var wordTimings = _values.GetOrDefault("service.output.config.word.level.timing", false);
            if (wordTimings) config.RequestWordLevelTimestamps();

            var contentLogging = _values.GetOrDefault("service.config.content.logging.enabled", false);
            if (contentLogging) config.EnableAudioLogging();

            var trafficType = _values.GetOrDefault("service.config.endpoint.traffic.type", "spx");
            config.SetServiceProperty("traffictype", trafficType, ServicePropertyChannel.UriQueryParameter);

            var endpointParam = _values.GetOrEmpty("service.config.endpoint.query.string");
            if (!string.IsNullOrEmpty(endpointParam)) ConfigHelpers.SetEndpointParams(config, endpointParam);

            var httpHeader = _values.GetOrEmpty("service.config.endpoint.http.header");
            if (!string.IsNullOrEmpty(httpHeader)) SetHttpHeaderProperty(config, httpHeader);

            var rtf = _values.GetOrDefault("audio.input.real.time.factor", -1);
            if (rtf >= 0) config.SetProperty("SPEECH-AudioThrottleAsPercentageOfRealTime", rtf.ToString());

            var fastLane = _values.GetOrDefault("audio.input.fast.lane", rtf >= 0 ? 0 : -1);
            if (fastLane >= 0) config.SetProperty("SPEECH-TransmitLengthBeforThrottleMs", fastLane.ToString());

            var stringProperty = _values.GetOrEmpty("config.string.property");
            if (!string.IsNullOrEmpty(stringProperty)) ConfigHelpers.SetStringProperty(config, stringProperty);

            var stringProperties = _values.GetOrEmpty("config.string.properties");
            if (!string.IsNullOrEmpty(stringProperties)) ConfigHelpers.SetStringProperties(config, stringProperties);

            var embedded = _values.GetOrDefault("embedded.config.embedded", false);
            if (embedded) SetEmbeddedProperties(config);

            CheckNotYetImplementedConfigProperties();
        }