本文整理匯總了Golang中github.com/letsencrypt/boulder/core.ValidationAuthority.PerformValidation方法的典型用法代碼示例。如果您正苦於以下問題:Golang ValidationAuthority.PerformValidation方法的具體用法?Golang ValidationAuthority.PerformValidation怎麽用?Golang ValidationAuthority.PerformValidation使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/letsencrypt/boulder/core.ValidationAuthority
的用法示例。
在下文中一共展示了ValidationAuthority.PerformValidation方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: NewValidationAuthorityServer
// NewValidationAuthorityServer constructs an RPC server
//
// ValidationAuthorityClient / Server
// -> UpdateValidations
func NewValidationAuthorityServer(rpc Server, impl core.ValidationAuthority) (err error) {
rpc.Handle(MethodUpdateValidations, func(ctx context.Context, req []byte) (response []byte, err error) {
var vaReq validationRequest
if err = json.Unmarshal(req, &vaReq); err != nil {
// AUDIT[ Improper Messages ] 0786b6f2-91ca-4f48-9883-842a19084c64
improperMessage(MethodUpdateValidations, err, req)
return
}
return nil, impl.UpdateValidations(ctx, vaReq.Authz, vaReq.Index)
})
rpc.Handle(MethodPerformValidation, func(ctx context.Context, req []byte) (response []byte, err error) {
var vaReq performValidationRequest
if err = json.Unmarshal(req, &vaReq); err != nil {
// AUDIT[ Improper Messages ] 0786b6f2-91ca-4f48-9883-842a19084c64
improperMessage(MethodPerformValidation, err, req)
return nil, err
}
records, err := impl.PerformValidation(ctx, vaReq.Domain, vaReq.Challenge, vaReq.Authz)
// If the type of error was a ProblemDetails, we need to return
// both that and the records to the caller (so it can update
// the challenge / authz in the SA with the failing records).
// The least error-prone way of doing this is to send a struct
// as the RPC response and return a nil error on the RPC layer,
// then unpack that into (records, error) to the caller.
probs, ok := err.(*probs.ProblemDetails)
if !ok && err != nil {
return nil, err
}
return json.Marshal(performValidationResponse{records, probs})
})
rpc.Handle(MethodIsSafeDomain, func(ctx context.Context, req []byte) ([]byte, error) {
r := &core.IsSafeDomainRequest{}
if err := json.Unmarshal(req, r); err != nil {
// AUDIT[ Improper Messages ] 0786b6f2-91ca-4f48-9883-842a19084c64
improperMessage(MethodIsSafeDomain, err, req)
return nil, err
}
resp, err := impl.IsSafeDomain(ctx, r)
if err != nil {
return nil, err
}
return json.Marshal(resp)
})
return nil
}