diff options
| author | Felix Hanley <felix@userspace.com.au> | 2025-08-28 01:38:06 +0000 |
|---|---|---|
| committer | Felix Hanley <felix@userspace.com.au> | 2025-08-28 01:38:06 +0000 |
| commit | 02e6f97cd04cbcd7505e1da9a781df4321463640 (patch) | |
| tree | 08d3d2317cdab4885d7c9830ed7983fecfb9fb4a /vendor/github.com/smallstep/linkedca/context.go | |
| parent | faa33e32b5e967fdfeac96bfc39ed3d94f9514ac (diff) | |
| download | caddy-02e6f97cd04cbcd7505e1da9a781df4321463640.tar.gz caddy-02e6f97cd04cbcd7505e1da9a781df4321463640.tar.bz2 | |
Attempt to stop AI bots using Anubis
Diffstat (limited to 'vendor/github.com/smallstep/linkedca/context.go')
| -rw-r--r-- | vendor/github.com/smallstep/linkedca/context.go | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/vendor/github.com/smallstep/linkedca/context.go b/vendor/github.com/smallstep/linkedca/context.go new file mode 100644 index 0000000..3442ed0 --- /dev/null +++ b/vendor/github.com/smallstep/linkedca/context.go @@ -0,0 +1,75 @@ +package linkedca + +import "context" + +type contextKeyType int + +const ( + _ contextKeyType = iota + adminContextKey + provisionerContextKey + externalAccountKeyContextKey +) + +// NewContextWithAdmin returns a copy of ctx which carries an Admin. +func NewContextWithAdmin(ctx context.Context, admin *Admin) context.Context { + return context.WithValue(ctx, adminContextKey, admin) +} + +// AdminFromContext returns an Admin if the ctx carries one and a +// bool indicating if an Admin is carried by the ctx. +func AdminFromContext(ctx context.Context) (a *Admin, ok bool) { + if a, ok = ctx.Value(adminContextKey).(*Admin); a == nil { + return nil, false + } + return +} + +// MustAdminFromContext returns the Admin ctx carries. +// +// MustAdminFromContext panics in case ctx carries no Admin. +func MustAdminFromContext(ctx context.Context) *Admin { + return ctx.Value(adminContextKey).(*Admin) +} + +// NewContextWithProvisioner returns a copy of ctx which carries a Provisioner. +func NewContextWithProvisioner(ctx context.Context, provisioner *Provisioner) context.Context { + return context.WithValue(ctx, provisionerContextKey, provisioner) +} + +// ProvisionerFromContext returns a Provisioner if the ctx carries one and a +// bool indicating if a Provisioner is carried by the ctx. +func ProvisionerFromContext(ctx context.Context) (p *Provisioner, ok bool) { + if p, ok = ctx.Value(provisionerContextKey).(*Provisioner); p == nil { + return nil, false + } + return +} + +// MustProvisionerFromContext returns the Provisioner ctx carries. +// +// MustProvisionerFromContext panics in case ctx carries no Provisioner. +func MustProvisionerFromContext(ctx context.Context) *Provisioner { + return ctx.Value(provisionerContextKey).(*Provisioner) +} + +// NewContextWithExternalAccountKey returns a copy of ctx which carries an EABKey. +func NewContextWithExternalAccountKey(ctx context.Context, k *EABKey) context.Context { + return context.WithValue(ctx, externalAccountKeyContextKey, k) +} + +// ExternalAccountKeyFromContext returns the EABKey if the ctx carries +// one and a bool indicating if an EABKey is carried by the ctx. +func ExternalAccountKeyFromContext(ctx context.Context) (k *EABKey, ok bool) { + if k, ok = ctx.Value(externalAccountKeyContextKey).(*EABKey); k == nil { + return nil, false + } + return +} + +// MustExternalAccountKeyFromContext returns the EABKey ctx carries. +// +// MustExternalAccountKeyFromContext panics in case ctx carries no EABKey. +func MustExternalAccountKeyFromContext(ctx context.Context) *EABKey { + return ctx.Value(externalAccountKeyContextKey).(*EABKey) +} |
