func (ca *CAServer) authz(identifier string) *authorization {
	authz, ok := ca.authorizations[identifier]
	if !ok {
		authz = &authorization{
			domain: identifier,
			Status: acme.StatusPending,
		}
		for _, typ := range ca.challengeTypes {
			authz.Challenges = append(authz.Challenges, challenge{
				Type:  typ,
				URI:   ca.serverURL("/challenge/%s/%s", typ, authz.domain),
				Token: challengeToken(authz.domain, typ),
			})
		}
		ca.authorizations[authz.domain] = authz
	}
	return authz
}
// authz returns an existing authorization for the identifier or creates a new one.
// It requires ca.mu to be locked.
authz returns an existing authorization for the identifier or creates a new one.
It requires ca.mu to be locked.
// authz returns an existing authorization for the identifier or creates a new one . // It requires ca . mu to be locked .
func (ca *CAServer) authz(identifier string) *authorization {
	authz, ok := ca.authorizations[identifier]
	if !ok {
		authz = &authorization{
			domain: identifier,
			Status: acme.StatusPending,
		}
		for _, typ := range ca.challengeTypes {
			authz.Challenges = append(authz.Challenges, challenge{
				Type:  typ,
				URI:   ca.serverURL("/challenge/%s/%s", typ, authz.domain),
				Token: challengeToken(authz.domain, typ),
			})
		}
		ca.authorizations[authz.domain] = authz
	}
	return authz
}
func ( ca * CAServer ) authz ( identifier string ) * authorization { authz , ok := ca . authorizations [ identifier ] if ! ok { authz = & authorization { domain : identifier , Status : acme . StatusPending , } for _ , typ := range ca . challengeTypes { authz . Challenges = append ( authz . Challenges , challenge { Type : typ , URI : ca . serverURL ( " " , typ , authz . domain ) , Token : challengeToken ( authz . domain , typ ) , } ) } ca . authorizations [ authz . domain ] = authz } return authz }
authz returns an existing authorization for the identifier or creates a new one.
authz returns an existing authorization for the identifier or creates a new one .