28 lines
534 B
Go
28 lines
534 B
Go
package agent
|
|
|
|
import (
|
|
"context"
|
|
|
|
"forge.cadoles.com/Cadoles/emissary/internal/client"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
type contextKey string
|
|
|
|
const (
|
|
contextKeyClient contextKey = "client"
|
|
)
|
|
|
|
func withClient(ctx context.Context, client *client.Client) context.Context {
|
|
return context.WithValue(ctx, contextKeyClient, client)
|
|
}
|
|
|
|
func Client(ctx context.Context) *client.Client {
|
|
client, ok := ctx.Value(contextKeyClient).(*client.Client)
|
|
if !ok {
|
|
panic(errors.New("could not retrieve client from context"))
|
|
}
|
|
|
|
return client
|
|
}
|