本文整理汇总了Golang中github.com/letsencrypt/boulder/core.ValidationAuthority.UpdateValidations方法的典型用法代码示例。如果您正苦于以下问题:Golang ValidationAuthority.UpdateValidations方法的具体用法?Golang ValidationAuthority.UpdateValidations怎么用?Golang ValidationAuthority.UpdateValidations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/letsencrypt/boulder/core.ValidationAuthority
的用法示例。
在下文中一共展示了ValidationAuthority.UpdateValidations方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: NewValidationAuthorityServer
// NewValidationAuthorityServer constructs an RPC server
//
// ValidationAuthorityClient / Server
// -> UpdateValidations
func NewValidationAuthorityServer(rpc Server, impl core.ValidationAuthority) (err error) {
rpc.Handle(MethodUpdateValidations, func(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
}
err = impl.UpdateValidations(vaReq.Authz, vaReq.Index)
return
})
rpc.Handle(MethodCheckCAARecords, func(req []byte) (response []byte, err error) {
var caaReq caaRequest
if err = json.Unmarshal(req, &caaReq); err != nil {
// AUDIT[ Improper Messages ] 0786b6f2-91ca-4f48-9883-842a19084c64
improperMessage(MethodCheckCAARecords, err, req)
return
}
present, valid, err := impl.CheckCAARecords(caaReq.Ident)
if err != nil {
return
}
var caaResp caaResponse
caaResp.Present = present
caaResp.Valid = valid
caaResp.Err = err
response, err = json.Marshal(caaResp)
if err != nil {
// AUDIT[ Error Conditions ] 9cc4d537-8534-4970-8665-4b382abe82f3
errorCondition(MethodCheckCAARecords, err, caaReq)
return
}
return
})
rpc.Handle(MethodIsSafeDomain, func(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(r)
if err != nil {
return nil, err
}
jsonResp, err := json.Marshal(resp)
if err != nil {
return nil, err
}
return jsonResp, nil
})
return nil
}
示例2: 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
}
示例3: NewValidationAuthorityServer
// ValidationAuthorityClient / Server
// -> UpdateValidations
func NewValidationAuthorityServer(serverQueue string, channel *amqp.Channel, impl core.ValidationAuthority) (rpc *AmqpRPCServer, err error) {
rpc = NewAmqpRPCServer(serverQueue, channel)
rpc.Handle(MethodUpdateValidations, func(req []byte) []byte {
var authz core.Authorization
if err := json.Unmarshal(req, &authz); err != nil {
// AUDIT[ Improper Messages ] 0786b6f2-91ca-4f48-9883-842a19084c64
improperMessage(MethodUpdateValidations, err, req)
return nil
}
if err := impl.UpdateValidations(authz); err != nil {
// AUDIT[ Error Conditions ] 9cc4d537-8534-4970-8665-4b382abe82f3
errorCondition(MethodUpdateValidations, err, authz)
}
return nil
})
return rpc, nil
}