MCPcopy
hub / github.com/cli/cli / getSecretsFromOptions

Function getSecretsFromOptions

pkg/cmd/secret/set/set.go:376–411  ·  view source on GitHub ↗
(opts *SetOptions)

Source from the content-addressed store, hash-verified

374}
375
376func getSecretsFromOptions(opts *SetOptions) (map[string][]byte, error) {
377 secrets := make(map[string][]byte)
378
379 if opts.EnvFile != "" {
380 var r io.Reader
381 if opts.EnvFile == "-" {
382 defer opts.IO.In.Close()
383 r = opts.IO.In
384 } else {
385 f, err := os.Open(opts.EnvFile)
386 if err != nil {
387 return nil, fmt.Errorf("failed to open env file: %w", err)
388 }
389 defer f.Close()
390 r = f
391 }
392 envs, err := godotenv.Parse(r)
393 if err != nil {
394 return nil, fmt.Errorf("error parsing env file: %w", err)
395 }
396 if len(envs) == 0 {
397 return nil, fmt.Errorf("no secrets found in file")
398 }
399 for key, value := range envs {
400 secrets[key] = []byte(value)
401 }
402 return secrets, nil
403 }
404
405 body, err := getBody(opts)
406 if err != nil {
407 return nil, fmt.Errorf("did not understand secret body: %w", err)
408 }
409 secrets[opts.SecretName] = body
410 return secrets, nil
411}
412
413func getBody(opts *SetOptions) ([]byte, error) {
414 if opts.Body != "" {

Callers 2

setRunFunction · 0.85

Calls 4

OpenMethod · 0.80
getBodyFunction · 0.70
CloseMethod · 0.65
ErrorfMethod · 0.65

Tested by 1