* add new error funcs which take a ctx and deprecate existing funcs * use context where available when writing error events * remove circular internal/errors pkg dep * suppress some chatty errors using errors.WithoutEvent() * convert auth oidc funcs to take context where needed to write events Co-authored-by: Jim <jlambert@hashicorp.com>
71 lines
2.0 KiB
Go
71 lines
2.0 KiB
Go
package request
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/hashicorp/boundary/internal/errors"
|
|
)
|
|
|
|
// Validate the request.State
|
|
func (s *State) Validate(ctx context.Context) error {
|
|
const op = "request.(State).Validate"
|
|
if s == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing state")
|
|
}
|
|
if s.TokenRequestId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing token request id")
|
|
}
|
|
if s.CreateTime == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing create time")
|
|
}
|
|
if s.ExpirationTime == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing expiration time")
|
|
}
|
|
if s.FinalRedirectUrl == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing final redirect URL")
|
|
}
|
|
if s.Nonce == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing nonce")
|
|
}
|
|
if s.ProviderConfigHash == 0 {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing provider config hash")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Validate the request.Wrapper
|
|
func (w *Wrapper) Validate(ctx context.Context) error {
|
|
const op = "request.(Wrapper).Validate"
|
|
if w == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing wrapper")
|
|
}
|
|
if w.AuthMethodId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing auth method id")
|
|
}
|
|
if w.ScopeId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing scope id")
|
|
}
|
|
if w.WrapperKeyId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing wrapper key id")
|
|
}
|
|
if len(w.Ct) == 0 {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing ct")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Validate the request.Token
|
|
func (t *Token) Validate(ctx context.Context) error {
|
|
const op = "request.(Token).Validate"
|
|
if t == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing token")
|
|
}
|
|
if t.RequestId == "" {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing request id")
|
|
}
|
|
if t.ExpirationTime == nil {
|
|
return errors.New(ctx, errors.InvalidParameter, op, "missing expiration time")
|
|
}
|
|
return nil
|
|
}
|