Update dependencies
This commit is contained in:
56
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini.go
generated
vendored
Normal file
56
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini.go
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
// Package ini implements parsing of the AWS shared config file.
|
||||
//
|
||||
// Example:
|
||||
// sections, err := ini.OpenFile("/path/to/file")
|
||||
// if err != nil {
|
||||
// panic(err)
|
||||
// }
|
||||
//
|
||||
// profile := "foo"
|
||||
// section, ok := sections.GetSection(profile)
|
||||
// if !ok {
|
||||
// fmt.Printf("section %q could not be found", profile)
|
||||
// }
|
||||
package ini
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// OpenFile parses shared config from the given file path.
|
||||
func OpenFile(path string) (sections Sections, err error) {
|
||||
f, oerr := os.Open(path)
|
||||
if oerr != nil {
|
||||
return Sections{}, &UnableToReadFile{Err: oerr}
|
||||
}
|
||||
|
||||
defer func() {
|
||||
closeErr := f.Close()
|
||||
if err == nil {
|
||||
err = closeErr
|
||||
} else if closeErr != nil {
|
||||
err = fmt.Errorf("close error: %v, original error: %w", closeErr, err)
|
||||
}
|
||||
}()
|
||||
|
||||
return Parse(f, path)
|
||||
}
|
||||
|
||||
// Parse parses shared config from the given reader.
|
||||
func Parse(r io.Reader, path string) (Sections, error) {
|
||||
contents, err := io.ReadAll(r)
|
||||
if err != nil {
|
||||
return Sections{}, fmt.Errorf("read all: %v", err)
|
||||
}
|
||||
|
||||
lines := strings.Split(string(contents), "\n")
|
||||
tokens, err := tokenize(lines)
|
||||
if err != nil {
|
||||
return Sections{}, fmt.Errorf("tokenize: %v", err)
|
||||
}
|
||||
|
||||
return parse(tokens, path), nil
|
||||
}
|
||||
Reference in New Issue
Block a user