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
|
||
|
}
|