ACMESharp.AcmeClient.SubmitAuthorizeChallengeAnswer C# (CSharp) Method

SubmitAuthorizeChallengeAnswer() private method

private SubmitAuthorizeChallengeAnswer ( AuthorizationState authzState, string challengeType, bool useRootUrl = false ) : AuthorizeChallenge
authzState AuthorizationState
challengeType string
useRootUrl bool
return AuthorizeChallenge
        public AuthorizeChallenge SubmitAuthorizeChallengeAnswer(AuthorizationState authzState,
                string challengeType, bool useRootUrl = false)
        {
            AssertInit();
            AssertRegistration();

            var authzChallenge = authzState.Challenges.FirstOrDefault(x => x.Type == challengeType);
            if (authzChallenge == null)
                throw new ArgumentException("no challenge found matching requested type");

            if (authzChallenge.OldChallengeAnswer.Key == null
                    || authzChallenge.OldChallengeAnswer.Value == null
                    || authzChallenge.ChallengeAnswerMessage == null)
                throw new InvalidOperationException("challenge answer has not been generated");

            var requUri = new Uri(authzChallenge.Uri);
            if (useRootUrl)
                requUri = new Uri(RootUrl, requUri.PathAndQuery);

            var resp = RequestHttpPost(requUri, authzChallenge.ChallengeAnswerMessage);

            if (resp.IsError)
            {
                throw new AcmeWebException(resp.Error as WebException,
                        "Unexpected error", resp);
            }

            authzChallenge.HandlerHandleDate = DateTime.Now;

            return authzChallenge;
        }