ACMESharp.POSH.GetChallengeHandlerProfile.ProcessRecord C# (CSharp) Метод

ProcessRecord() защищенный Метод

protected ProcessRecord ( ) : void
Результат void
        protected override void ProcessRecord()
        {
            // We have to invoke this here because we *may not* invoke
            // any Vault access but we do rely on Ext mechanism access.
            Util.PoshHelper.BeforeExtAccess();

            if (ReloadProviders)
            {
                ChallengeDecoderExtManager.Reload();
                ChallengeHandlerExtManager.Reload();
            }
            else if (!string.IsNullOrEmpty(GetChallengeType))
            {
                WriteVerbose("Getting details of Challenge Type Decoder");
                var tInfo = ChallengeDecoderExtManager.GetProviderInfo(GetChallengeType);
                var t = ChallengeDecoderExtManager.GetProvider(GetChallengeType);
                WriteObject(new {
                        ChallengeType = tInfo.Type,
                        tInfo.Label,
                        tInfo.SupportedType,
                        tInfo.Description,
                    });
            }
            else if (ListChallengeTypes)
            {
                WriteVerbose("Listing all Challenge Type Decoders");
                WriteObject(ChallengeDecoderExtManager.GetProviderInfos().Select(_ => _.Name), true);
            }
            else if (!string.IsNullOrEmpty(GetChallengeHandler))
            {
                WriteVerbose("Getting details of Challenge Type Handler");
                var pInfo = ChallengeHandlerExtManager.GetProviderInfo(GetChallengeHandler);
                var p = ChallengeHandlerExtManager.GetProvider(GetChallengeHandler);
                if (ParametersOnly)
                {
                    WriteVerbose("Showing parameter details only");
                    WriteObject(p.DescribeParameters().Select(_ => new {
                            _.Name,
                            _.Label,
                            _.Type,
                            _.IsRequired,
                            _.IsMultiValued,
                            _.Description,
                        }), true);
                }
                else
                {
                    WriteObject(new {
                            pInfo.Name,
                            pInfo.Label,
                            pInfo.SupportedTypes,
                            pInfo.Description,
                            Parameters = p.DescribeParameters().Select(_ => new {
                                    _.Name,
                                    _.Label,
                                    _.Type,
                                    _.IsRequired,
                                    _.IsMultiValued,
                                    _.Description,
                                }),
                        });
                }
            }
            else if (ListChallengeHandlers)
            {
                WriteVerbose("Listing all Challenge Type Handlers");
                WriteObject(ChallengeHandlerExtManager.GetProviderInfos().Select(_ => _.Name), true);
            }
            else
            {
                WriteVerbose("Getting details of preconfigured Challenge Handler Profile");
                using (var vlt = Util.VaultHelper.GetVault(VaultProfile))
                {
                    vlt.OpenStorage();
                    var v = vlt.LoadVault();

                    if (ListProfiles)
                    {
                        WriteObject(v.ProviderProfiles?.Values, true);
                    }
                    else
                    {
                        var ppi = v.ProviderProfiles?.GetByRef(ProfileRef, throwOnMissing: false);
                        if (ppi == null)
                        {
                            WriteObject(ppi);
                        }
                        else
                        {
                            var asset = vlt.GetAsset(Vault.VaultAssetType.ProviderConfigInfo,
                                    ppi.Id.ToString());
                            using (var s = vlt.LoadAsset(asset))
                            {
                                WriteObject(JsonHelper.Load<ProviderProfile>(s), false);
                            }
                        }
                    }
                }
            }
        }
GetChallengeHandlerProfile