mirror of
https://github.com/qdm12/gluetun.git
synced 2026-05-06 07:26:39 -04:00
4a78989d9d
- main reason being it's a burden to always define sentinel errors at global scope, wrap them with `%w` instead of using a string directly - only use sentinel errors when it has to be checked using `errors.Is` - replace all usage of these sentinel errors in `fmt.Errorf` with direct strings that were in the sentinel error - exclude the sentinel error definition requirement from .golangci.yml - update unit tests to use ContainersError instead of ErrorIs so it stays as a "not a change detector test" without requiring a sentinel error
25 lines
590 B
Go
25 lines
590 B
Go
package extract
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/qdm12/gluetun/internal/models"
|
|
)
|
|
|
|
// Data extracts the lines and connection from the OpenVPN configuration file.
|
|
func (e *Extractor) Data(filepath string) (lines []string,
|
|
connection models.Connection, err error,
|
|
) {
|
|
lines, err = readCustomConfigLines(filepath)
|
|
if err != nil {
|
|
return nil, connection, fmt.Errorf("reading configuration file: %w", err)
|
|
}
|
|
|
|
connection, err = extractDataFromLines(lines)
|
|
if err != nil {
|
|
return nil, connection, fmt.Errorf("extracting connection from file: %w", err)
|
|
}
|
|
|
|
return lines, connection, nil
|
|
}
|