MCPcopy Create free account
hub / github.com/google/go-cloud / decryptByName

Function decryptByName

runtimevar/runtimevar.go:542–562  ·  view source on GitHub ↗

decryptByName returns a *secrets.Keeper for decryption when decoderName contains "decrypt".

(ctx context.Context, decoderName string)

Source from the content-addressed store, hash-verified

540// decryptByName returns a *secrets.Keeper for decryption when decoderName
541// contains "decrypt".
542func decryptByName(ctx context.Context, decoderName string) (*secrets.Keeper, string, error) {
543 if !strings.HasPrefix(decoderName, "decrypt") {
544 return nil, decoderName, nil
545 }
546 keeperURL := os.Getenv("RUNTIMEVAR_KEEPER_URL")
547 if keeperURL == "" {
548 return nil, "", errors.New("environment variable RUNTIMEVAR_KEEPER_URL needed to open a *secrets.Keeper for decryption")
549 }
550 k, err := secrets.OpenKeeper(ctx, keeperURL)
551 if err != nil {
552 return nil, "", err
553 }
554 decoderName = strings.TrimPrefix(decoderName, "decrypt")
555 if decoderName != "" {
556 decoderName = strings.TrimLeftFunc(decoderName, func(r rune) bool {
557 return r == ' ' || r == '+'
558 })
559 }
560 // The parsed value is "decrypt <decoderName>".
561 return k, decoderName, nil
562}
563
564func maybeDecrypt(ctx context.Context, k *secrets.Keeper, dec *Decoder) *Decoder {
565 if k == nil {

Callers 1

DecoderByNameFunction · 0.85

Calls 1

OpenKeeperFunction · 0.92

Tested by

no test coverage detected