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

Function DecoderByName

runtimevar/runtimevar.go:515–538  ·  view source on GitHub ↗

DecoderByName returns a *Decoder based on decoderName. It is intended to be used by URL openers in driver packages. Supported values include: - empty string: Returns the default from the URLOpener.Decoder, or BytesDecoder if URLOpener.Decoder is nil (which is true if you're using the default URLOp

(ctx context.Context, decoderName string, dflt *Decoder)

Source from the content-addressed store, hash-verified

513// "RUNTIMEVAR_KEEPER_URL". See https://godoc.org/gocloud.dev/secrets#OpenKeeper
514// for more details.
515func DecoderByName(ctx context.Context, decoderName string, dflt *Decoder) (*Decoder, error) {
516 // Open a *secrets.Keeper if the decoderName contains "decrypt".
517 k, decoderName, err := decryptByName(ctx, decoderName)
518 if err != nil {
519 return nil, err
520 }
521
522 if dflt == nil {
523 dflt = BytesDecoder
524 }
525 switch decoderName {
526 case "":
527 return maybeDecrypt(ctx, k, dflt), nil
528 case "bytes":
529 return maybeDecrypt(ctx, k, BytesDecoder), nil
530 case "jsonmap":
531 var m map[string]any
532 return maybeDecrypt(ctx, k, NewDecoder(&m, JSONDecode)), nil
533 case "string":
534 return maybeDecrypt(ctx, k, StringDecoder), nil
535 default:
536 return nil, fmt.Errorf("unsupported decoder %q", decoderName)
537 }
538}
539
540// decryptByName returns a *secrets.Keeper for decryption when decoderName
541// contains "decrypt".

Callers 10

OpenVariableURLMethod · 0.92
OpenVariableURLMethod · 0.92
OpenVariableURLMethod · 0.92
OpenVariableURLMethod · 0.92
OpenVariableURLMethod · 0.92
OpenVariableURLMethod · 0.92
OpenVariableURLMethod · 0.92
OpenVariableURLMethod · 0.92
OpenVariableURLMethod · 0.92
OpenVariableURLMethod · 0.92

Calls 3

decryptByNameFunction · 0.85
maybeDecryptFunction · 0.85
NewDecoderFunction · 0.85

Tested by

no test coverage detected