From 2252135fadb8c579ad27345e3203be755130e3cd Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Mon, 20 Jun 2022 15:20:18 +0200 Subject: Refactor: Errors to have one custom type that is to be wrapped - For this an `internal/types` package is created with a custom error type - This custom error type can give back the cause and traceback of an error --- internal/util/util.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'internal/util') diff --git a/internal/util/util.go b/internal/util/util.go index 4bdd1b5..8dee61e 100644 --- a/internal/util/util.go +++ b/internal/util/util.go @@ -2,8 +2,11 @@ package util import ( "crypto/rand" + "fmt" "os" "time" + + "github.com/jwijenbergh/eduvpn-common/internal/types" ) // Creates a random byteslice of `size` @@ -11,7 +14,7 @@ func MakeRandomByteSlice(size int) ([]byte, error) { byteSlice := make([]byte, size) _, err := rand.Read(byteSlice) if err != nil { - return nil, err + return nil, &types.WrappedErrorMessage{Message: "failed reading random", Err: err} } return byteSlice, nil } @@ -24,7 +27,7 @@ func GenerateTimeSeconds() int64 { func EnsureDirectory(directory string) error { mkdirErr := os.MkdirAll(directory, os.ModePerm) if mkdirErr != nil { - return mkdirErr + return &types.WrappedErrorMessage{Message: fmt.Sprintf("failed to create directory %s", directory), Err: mkdirErr} } return nil } -- cgit v1.2.3